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);
}
}
Ho creato un servizio di Windows. Quando riavvio il sistema e accesso, disconnessione, blocco o sblocco della sessione. non catturerà l'evento. Il servizio è in esecuzione, ma non funzionerà correttamente.Come acquisire in modo affidabile l'accesso a Windows, disconnettersi, bloccare e sbloccare eventi da un servizio?
Quando si riavvia il servizio, acquisirà tutti gli eventi come previsto. Come faccio a risolvere/risolvere questo problema?
E cosa stai cercando di dirci con questo ... Si prega di specificare "non funzionerà" un po 'più dettagliato ... come funziona? Che cosa fa? Cosa potrebbe fare? –
Quali versioni di Windows stai specificatamente cercando di indirizzare? Gli eventi si sono comportati in modo diverso tra 2000, XP e Vista –