tras tiempo que por para inactividad equipo con computadora como comando cierto cada bloquear apagarla c# wpf desktop locking

c# - tiempo - como bloquear la pc sin apagarla



¿Cómo detecto un comando Bloquear este equipo desde una aplicación WPF? (3)

Preferiría una respuesta en C #, .Net 3.5 usando WPF (Windows Forms también está bien)

Tengo una aplicación que es esencialmente una ventana de la barra de herramientas o un icono de bandeja. Necesita detectar si un usuario bloquea su estación de trabajo y se aleja para actualizar el estado de la persona en un sistema centralizado.

Puedo detectar un cambio de sesión o un cierre de sesión fácilmente, usando SystemEvents, pero por mi vida no puedo descubrir cómo detectar o recibir un evento en Lock.

Gracias por cualquier ayuda.



Necesita p / invocar WTSRegisterSessionNotification. Código de muestra está here


Cuando maneja el evento Microsoft.Win32.SystemEvents.SessionSwitch (que parece que ya está haciendo para detectar el cierre de sesión), verifique si el Reason es SessionSwitchReason .SessionLock :

using Microsoft.Win32; // ... // Somewhere in your startup, add your event handler: SystemEvents.SessionSwitch += new SessionSwitchEventHandler(SystemEvents_SessionSwitch); // ... void SystemEvents_SessionSwitch(object sender, SessionSwitchEventArgs e) { switch(e.Reason) { // ... case SessionSwitchReason.SessionLock: // Do whatever you need to do for a lock // ... break; case SessionSwitchReason.SessionUnlock: // Do whatever you need to do for an unlock // ... break; // ... } }