Liebe/-r Experte/-in,
Seit längerer Zeit gibt es von Microsoft eine API für das Windows Desktop Sharing:
http://msdn.microsoft.com/en-us/library/bb968809.aspx
Die Eigentliche Lösung zu meinem Problem muss nicht Zwangsläufig bei dieser API liegen. Vielmehr scheint es sich um Windows verhalten zu handeln.
Mit dieser API ist es möglich eine Software schnell zu konstruieren die es erlaubt per klick auf ein Fenster dieses Fenster Remote auf einen anderen Rechner darzustellen. Sprich eigentlich eine einfache RDP Session.
Ich verwende in meiner Software den ApplicationFilter um zu definieren welche Fenster ich „sharen“ will. Das Funktioniert soweit auch. Nur der Windows Explorer bereitet schwierigkeiten. Jedes RPDSession Object beinhaltet ein ApplicationList Objekt. In dieser Liste sind alle Applicationen gespeichert die „sharable“ sind. Sprich alle Applicationen die die Software für RPD freigeben kann. in dieser Liste taucht der Explorer leider nicht auf. In der Dokumentation steht dazu:
„This flag indicates that the application cannot be shared. The application runs at a higher level than the process that is using the Windows Desktop Sharing API. An application can use this flag to prevent the user from sharing it by either disabling the entry for the application in the user interface or by not showing the entry.“
Besagte Flag kann nur gelesen werden.
Wenn ich jetzt den explorer abschieße während mein Programm läuft und ihn dann wieder neu starte ist es auf einmal möglich den explorer zu „sharen“. Also was meint Microsoft mit „higher level“? Und welcher „level“ ändert sich wenn man den Prozess killt?