Tengo un servicio/aplicación que recibe notificaciones de cambios de sesión de Windows. He notado una diferencia en el comportamiento entre Windows XP y Windows 7 y estoy tratando de establecer si se trata de un error o un cambio de comportamiento documentado.Diferencia en eventos de notificación de cierre de sesión entre Windows XP y Windows 7
Las notificaciones vienen como: WTSSESSION_NOTIFICATION
.
Windows XP informa como se esperaba: WTS_SESSION_LOGON
en el inicio de sesión de la GUI de Windows y: WTS_SESSION_LOGOFF
en la salida de la GUI de Windows.
En Windows 7 x64 en la interfaz de usuario, se genera WTS_SESSION_LOGON
, pero al cerrar sesión obtengo un evento WTS_CONSOLE_DISCONNECT
en lugar del evento WTS_SESSION_LOGOFF
.
¿Es esto un error o tienen los valores constantes cambiados entre versiones? No es enormemente crítico para el servicio que he desarrollado, pero aún me gustaría saber por qué esto se comporta de manera diferente.
evento WTS_CONSOLE_DISCONNECT en lugar de WTS_CONSOLE_DISCONNECT? –
Los valores constantes no cambiaron, WTS_CONSOLE_DISCONNECT se definió para XP (de acuerdo con una búsqueda rápida en Google). Es el evento LOGOFF totalmente perdido? ¿Tal vez Win7 simplemente desconecta la sesión antes de cerrar sesión? – Zarat
¿Está utilizando 'WTSRegisterSessionNotification' o' RegisterServiceCtrlHandlerEx'? Debido al aislamiento de la sesión, no esperaría que el primero trabaje para un servicio en Vista o Windows 7. –