Wie zuverlässig erfassen, Windows logon, logoff, lock-und unlock-Ereignisse, die von einem Dienst?

using Microsoft.Win32; 

public class App 
{ 
  static void Main() 
  { 
    SystemEvents.SessionSwitch += SystemEvents_SessionSwitch; 
    Console.ReadLine();  
    SystemEvents.SessionSwitch -= SystemEvents_SessionSwitch; 
  } 

  static void SystemEvents_SessionSwitch(object sender, SessionSwitchEventArgs e) 
  { 
  if(e.Reason == SessionSwitchReason.SessionLock) 
  { 
    Console.WriteLine("locked at {0}", DateTime.Now); 
  } 
  if(e.Reason == SessionSwitchReason.SessionUnlock) 
  { 
    Console.WriteLine("unlocked at {0}", DateTime.Now); 
  } 
} 

Habe ich einen Windows-Dienst. Wenn ich das system neu starten und anmelden, Abmelden, sperren oder entsperren der Sitzung. es wird nicht erfasst der Fall. Der Dienst wird ausgeführt, aber es wird nicht richtig funktionieren.

Wenn ich den Dienst neu starten, wird es alle Ereignisse erfassen, wie erwartet. Wie gehe ich über die Fehlersuche/Behebung?

Und was wollen Sie uns sagen mit...geben Sie Bitte "es funktioniert nicht" ein bisschen mehr detaillierte...wie funktioniert es nicht? Was tut es? Was könnte es tun?
Welche version(en) von Windows sind Sie speziell versuchen, den Gegner? Die Ereignisse anders Verhalten zwischen 2000, XP und Vista

InformationsquelleAutor Abdul jalil | 2009-10-06

Schreibe einen Kommentar