Ich habe für meine Software die Anforderung, dass sie bei Aufschaltung einer Remote-Desktop-Verbindung in die laufende Sitzung (s. g. Änderung des Remote-Control-Modus) gesperrt wird (eine erneute Eingabe des Passworts wird verlangt).
Ich finde keinen Ansatz, wie ich feststellen kann, ob sich jemand Remote aufgeschaltet hat. Kann mir jemand einen Tipp geben?
Solltest bei der Recherche über qwinsta gestolpert sein.
Das liest die RDP Sessions aus, die Du dann selbst abgreifen kannst.
- performance is a feature -
Microsoft MVP - @Website - @AzureStuttgart - github.com/BenjaminAbt - Sustainable Code
OK, das bringt mich schon einmal ein gutes Stück weiter. Aber damit kann ich lediglich prüfen wer angemeldet ist. Ich könnte in kurzen Abständen prüfen, ob sich etwas geändert hat. Wäre denkbar, aber irgendwie fühlt sich das nicht gut an. Oder übersehe ich etwas?
Eigentlich war ich auf der Suche nach einem Event auf das ich reagieren kann. Gibt es dahingehend etwas?
Dann sollte die Nachricht WM_WTSSESSION_CHANGE passend sein (vorher WTSRegisterSessionNotification aufrufen). Für C# selbstverständlich mittels P/Invoke: WTSRegisterSessionNotification.
Dann sollte die Nachricht
> passend sein (vorher
> aufrufen). Für C# selbstverständlich mittels P/Invoke:
> .
Die Google-Suche nach Deinen Stichworten hat mich zu diesem schönen Event gebracht:
SystemEvents.SessionSwitch += OnSessionSwitch
Ich glaube in diesem Evenhandler kann ich alles machen, was ich möchte.
Danke für Eure Hilfe!