Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
[gelöst] Wie kann ich feststellen, ob sich jemand Remote mit dem Rechner verbunden hat?
Paschulke
myCSharp.de - Member



Dabei seit:
Beiträge: 63

Themenstarter:

[gelöst] Wie kann ich feststellen, ob sich jemand Remote mit dem Rechner verbunden hat?

beantworten | zitieren | melden

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?
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Paschulke am .
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 15536
Herkunft: BW

beantworten | zitieren | melden

Solltest bei der Recherche über qwinsta gestolpert sein.
Das liest die RDP Sessions aus, die Du dann selbst abgreifen kannst.
private Nachricht | Beiträge des Benutzers
Paschulke
myCSharp.de - Member



Dabei seit:
Beiträge: 63

Themenstarter:

beantworten | zitieren | melden

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?
private Nachricht | Beiträge des Benutzers
Th69
myCSharp.de - Experte

Avatar #avatar-2578.jpg


Dabei seit:
Beiträge: 3955

beantworten | zitieren | melden

Dann sollte die Nachricht WM_WTSSESSION_CHANGE passend sein (vorher WTSRegisterSessionNotification aufrufen). Für C# selbstverständlich mittels P/Invoke: WTSRegisterSessionNotification.
private Nachricht | Beiträge des Benutzers
Paschulke
myCSharp.de - Member



Dabei seit:
Beiträge: 63

Themenstarter:

beantworten | zitieren | melden

Zitat von Th69
Dann sollte die Nachricht WM_WTSSESSION_CHANGE passend sein (vorher WTSRegisterSessionNotification aufrufen). Für C# selbstverständlich mittels P/Invoke: WTSRegisterSessionNotification.

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!
private Nachricht | Beiträge des Benutzers