Profesyonel Bir C# Sorusu
-
uzak masa üstünde printscreen alan ve clipboard nesnesini kullanan bir form application yazdım. uzak masaüstünde ben bağlıyken problemsiz çalışıyor. ama remote desktopu sonlandırdığımda (log off olmadan direk çıktığımda) program da duruyor. printscreen alamıyor ve clipboardı kullanamıyor.
timer koydum timer problemsiz çalışıyor kapatıp açıldığında ekrandan saniyelerin geçtiğini izleyebiliyorum. yani programın yapısı normal çalışıyor sadece bu iki kısım çalışmıyor.
windows servisi içinden print screen aldırılabiliyor kodları mevcut ama desktop project olunca büyük problem oluyor.
şimdiye kadar başına aynı şey gelmiş olan varmı ?
-
Hocam remote desktopda task managerdan dikkat edersen bir mirror session oluşturulup oraya geçiş sağlanıyor. Exenin SessionIDsi 1 ise remote desktopta mesela 3 oluyor.
Sen disconnect ettiğinde applicationun o sessiondan çıkış sağlayamıyor. Servisinin açık olan ve bunların içindeki remote desktop sessionları takip etmesi ona göre processindeki clipboard listener vs threadleri kapatması ve yerine göre bunların threadlerini yada processlerini yeniden açması lazım.
Servisten screenshot alma kodunu biryerden aldıysan kısaca özetliyim nasıl çalıştığını iyice anlamadan bunu aşman biraz zor. Ayrıca xp ve win7 de başka dallara girmen gerekebilir
-
hocam baktığım kadarıyla sessionid hep 2 olarak sabit kalıyor.
ben uzak masaüstünden çıkış yaptığımda sessionid ile ilgili bir problem olursa muhtemelen programın direk hata vermesi gerekir. ama ben formun title sini bir thread içinde değiştiriyorum timer kullanarak. Clipboard ve printscreen haricinde işlemler yapıyorum normal devam ediyor.
sadece bu iki işi yapamıyor.
program bir kurallar zincirinden oluşuyor. print screen alıp uygun X ve Y noktalarından itibaren belirli bir Width ve Height i alıp önceden alınmış olan printscreenlerle karşılaştırıp ne yapacağına ona göre karar veren bir mekanizma.
yani uzak masaüstünden bağlantı koptuğu anda direk bütün proccesleri değiştirebileceğim bir yapıya sahip değil.
eğer varsa bu yapıyı programı çalıştırırken kurmam lazım. ve log on olmamı beklemeden çalıştırabilmem lazım.
-
çözümü buldum başkasının işe yarar diye burada da paylaşayım.
olay tamamen mstsc de bitiyor.
yazdığım programı vds'e atıp mstsc ile bağlandığımda programı çalıştırısam mstscyi simge durumuna küçülttüğümde veya disconnect olmadan mstsc penceresini kapattığımda program durmasına rağmen. aynı vds'e vmware ile erişip programı çalıştırdıktan sonra vmware pencersini kapatırsak program printscreen almaya ve clipboardı kullanmaya devam ediyor. vmwareden kapattıktan sonra mstsc den ulaşınca yine devam ediyor. ama mstsc yi kapattığımız anda program yine duruyor.
tek çözüm erişim için sadece wmware kullanmak. mantığı mstsc den tamamen farklıymış. biz wmware deki pencreyi kaptsak bile masaüstü işlemleri ve bağlanılan user sesionları aynen devam ediyormuş.
yazdığım program çalışmasına rağmen 1 hafta boyunca boşuna çözüm aramışım :)inşallah birisi bunları görürde boşuna zaman kaybetmez:)
-
manglerman bunu yazdı
çözümü buldum başkasının işe yarar diye burada da paylaşayım.
olay tamamen mstsc de bitiyor.
yazdığım programı vds'e atıp mstsc ile bağlandığımda programı çalıştırısam mstscyi simge durumuna küçülttüğümde veya disconnect olmadan mstsc penceresini kapattığımda program durmasına rağmen. aynı vds'e vmware ile erişip programı çalıştırdıktan sonra vmware pencersini kapatırsak program printscreen almaya ve clipboardı kullanmaya devam ediyor. vmwareden kapattıktan sonra mstsc den ulaşınca yine devam ediyor. ama mstsc yi kapattığımız anda program yine duruyor.
tek çözüm erişim için sadece wmware kullanmak. mantığı mstsc den tamamen farklıymış. biz wmware deki pencreyi kaptsak bile masaüstü işlemleri ve bağlanılan user sesionları aynen devam ediyormuş.
yazdığım program çalışmasına rağmen 1 hafta boyunca boşuna çözüm aramışım :)inşallah birisi bunları görürde boşuna zaman kaybetmez:)
mantık olarak aynımı bilmiyorum ama benzer olarak şöyle bi sorun yaşamıştım .
laptopım > uzak desktop > uzak sunucular
şöyle bir içiçe bağlantı sistemim vardı desktoptan sunuculara bağlantı mstsc ile laptopla desktop arasında ammy ile bağlanıyorum. burdada ilk başta dikkatimi çekmemişti ammy ile bağlıyken bişi oluyor görüntü gidiyor hata veriyordu.sonra farkettimki mstc yi alt tabla falan başka ekrana aldığımda görüntü gidiyor tekrar bağlanmam gerekiyordu.
-
HolyOne bunu yazdı
Hocam remote desktopda task managerdan dikkat edersen bir mirror session oluşturulup oraya geçiş sağlanıyor. Exenin SessionIDsi 1 ise remote desktopta mesela 3 oluyor.
Sen disconnect ettiğinde applicationun o sessiondan çıkış sağlayamıyor. Servisinin açık olan ve bunların içindeki remote desktop sessionları takip etmesi ona göre processindeki clipboard listener vs threadleri kapatması ve yerine göre bunların threadlerini yada processlerini yeniden açması lazım.
Servisten screenshot alma kodunu biryerden aldıysan kısaca özetliyim nasıl çalıştığını iyice anlamadan bunu aşman biraz zor. Ayrıca xp ve win7 de başka dallara girmen gerekebilir
Allah kabul etsin hocam..
-
çizik