Registriert seit: 3. Dez 2005
36 Beiträge
|
Re: In einem Dienst bemerken wenn sich ein User anmeldet?
7. Feb 2006, 21:40
Es gibt keine verlaessliche Methode, herauszufinden wann ein user eingeloggt ist. Die Methode, die u.a. auch Windows verwendet, ist dass eine user login applikation bei jedem login gestartet wird, die u.a. services (umpnpmgr fuer Geraeteinstallationen) von dem logon mitteilen. Da du aber die userinit.exe von Windows nicht veraendern kannst, musst du ein separates Initialisierungsprogramm schreiben, das deinen Service vom Login benachrichtigt und bei jedem Login gestartet wird. Den Pfad zu dieser Anwendung kannst du in HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon im String "Userinit" hinzufuegen. Der Registry-Value enthaelt eine Reihe von Anwendungen, die durch Kommas getrennt sind und alle bei einem Login gestartet werden. Das ist die einzige zuverlaessige und gute Methode, einen Service ueber einen Login zu benachrichtigen. Wie gesagt, diese Methode wird auch von Windows verwendet um gewisse Services zu benachrichtigen.
|