Einzelnen Beitrag anzeigen

Dezipaitor

Registriert seit: 14. Apr 2003
Ort: Stuttgart
1.701 Beiträge
 
Delphi 7 Professional
 
#17

Re: Überprüfen, ob die Arbeitsstation gesperrt ist

  Alt 10. Sep 2007, 18:04
Ich verstehe nur net, warum du Switchdesktop verwendest. Als Dienst kannst du damit zum default-Desktop zurückkehren
,ohne dass das System den UnLocked-Zustand bemerkt. Diese Technik wird in diesem Artikel beschrieben

Es gibt ein Opensourceprogramm, dass dir etwas mehr zum Thema zeigen kann.

Verwende OpenInputDesktop + GetUserObjectInformation (mit UOI_NAME), um zu erfahren, ob die Session 0 WindowStation derzeit Benutzereingaben nach Winlogon oder default annimmt.

Du kannst übrigens über WTSRegisterSessionNotification und WM_WTSSESSION_CHANGE Benachrichtigungen erhalten,
ob eine Session gerade gespeert oder entsperrt wurde. Das wäre etwas einfacher.
Jedoch funktioniert es nicht, wenn der Dienst (aus der ferne) später gestartet wird, und die Workstation bereits gespeert ist.
Auch ein Nachteil ist, dass es erst ab XP funktioniert. Man kann jedoch auch entfernte Rechner oder andere Terminals damit überprüfen.
Christian
Windows, Tokens, Access Control List, Dateisicherheit, Desktop, Vista Elevation?
Goto: JEDI API LIB & Windows Security Code Library (JWSCL)
  Mit Zitat antworten Zitat