Разница в событиях уведомления о выходе из системы между Windows XP и Windows 7 - PullRequest
7 голосов
/ 01 февраля 2011

У меня есть служба / приложение, которое получает уведомления об изменениях сеанса Windows. Я заметил разницу в поведении между Windows XP и Windows 7 и пытаюсь установить, является ли это ошибкой или зарегистрированным изменением поведения.

Уведомления приходят в виде: WTSSESSION_NOTIFICATION.

Windows XP сообщает как ожидалось: WTS_SESSION_LOGON при входе в Windows GUI и: WTS_SESSION_LOGOFF при выходе из Windows GUI.

В Windows 7 x64 при графическом интерфейсе пользователя генерируется WTS_SESSION_LOGON, но при выходе из системы вместо события WTS_SESSION_LOGOFF появляется событие WTS_CONSOLE_DISCONNECT.

Это ошибка или значения констант изменились между версиями? Это не очень важно для сервиса, который я разработал, но я все же хотел бы знать, почему это ведет себя по-другому.

1 Ответ

1 голос
/ 09 февраля 2011

Только службы могут получать событие WTS_SESSION_LOGOFF под Windows 7. К тому времени, когда служба получает уведомление, процедура выхода из системы завершена (поэтому все приложения, которые запускал пользователь, уже уничтожены).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...