Cómo detectar Windows está bloqueado (Win + L o bloqueado por protector de pantalla)? ¿Es posible?¿Cómo detectar que Windows está bloqueado?
6
A
Respuesta
11
No hay forma documentada de comprobar si la sesión está bloqueada. Sin embargo, hay una manera de detectar que la sesión es obteniendo bloqueado. Use WTSRegisterSessionNotification(), obtendrá un mensaje WM_WTSSESSION_CHANGE con el valor WTS_SESSION_LOCK cuando la estación de trabajo esté bloqueada.
Si está planeando hacer esto desde un servicio, asegúrese de buscar en google "aislamiento de sesión 0" para descubrir por qué eso no funciona.
Cuestiones relacionadas
- 1. Detectar si el salvapantallas está activo y/o el usuario ha bloqueado la pantalla en Windows
- 2. ¿Hay alguna forma de detectar si un objeto está bloqueado?
- 3. SVN "que ya está bloqueado error"
- 4. ¿Cómo detectar que JFrame está cerrado?
- 5. ¿Cómo copio un archivo o carpeta que está bloqueado bajo Windows programáticamente?
- 6. Detectar con JavaScript que un script está bloqueado (por filtrado web, firewall, etc.)
- 7. Cómo detectar que MKMapView está disminuyendo/acercándose?
- 8. Cómo detectar si Windows se está cerrando o reiniciando
- 9. FileReference: cargando un archivo bloqueado en Windows
- 10. Cómo detectar si un micrófono está presente
- 11. ¿Cómo detectar READ_COMMITTED_SNAPSHOT está habilitado?
- 12. Python SQLite: base de datos está bloqueado
- 13. OperationalError: base de datos está bloqueado
- 14. base de datos está bloqueado en SQLite
- 15. Compruebe si un archivo está bloqueado en Java
- 16. ¿Cómo detectar que UITableView está en modo de edición?
- 17. ¿Cómo detectar que se está moviendo un control?
- 18. Detectar un proceso que ya se está ejecutando en Windows con C# .NET
- 19. Hilo bloqueado con Mutex bloqueado
- 20. Cómo detectar que UIScrollView se está desplazando o que está arrastrando
- 21. ¿Cómo puedo determinar si un archivo está bloqueado con VBS?
- 22. ¿Cómo puedo averiguar si un objeto está bloqueado? C#
- 23. ¿Cómo puedo desbloquear un archivo que está bloqueado por un proceso en .NET
- 24. ¿Cómo elimino un archivo que está bloqueado por otro proceso en C#?
- 25. Tomar captura de pantalla del escritorio cuando Windows está bloqueado (Win + L)
- 26. Servicio WCF bloqueado por el Firewall de Windows
- 27. ¿Cómo detectar la versión verdadera de Windows?
- 28. ¿Cómo detectar si Java está habilitado en IE?
- 29. Cómo detectar cuando innerHTML está completo
- 30. iPhone: ¿Cómo detectar si iTunes está jugando?
Gracias! Ahora estoy leyendo este enlace http://support.microsoft.com/kb/310153. Voy a probar el código más tarde. –
Usar 'WTSRegisterSessionNotification()' es la única opción. MSDN lo dice todo (consulte http://msdn.microsoft.com/en-us/library/windows/desktop/aa376875.aspx): "No hay ninguna función a la que pueda llamar para determinar si la estación de trabajo está bloqueada. Para recibir notificaciones cuando el usuario inicia sesión, use la función 'WTSRegisterSessionNotification()' para recibir los mensajes 'WM_WTSSESSION_CHANGE'. Los servicios que utilizan una devolución de llamada SCM 'HandlerEx', a diferencia de una devolución de llamada SCM' Handler', pueden recibir notificaciones 'SERVICE_CONTROL_SESSIONCHANGE' de' WTSRegisterSessionNotification() '. –