Windows 2003 Server и проблемы с удаленным рабочим столом с WM_QUERYENDSESSION

У меня странная проблема с небольшим приложением, которое я написал для обнаружения выключения Windows.

Используя удаленный рабочий стол для подключения к серверу Windows 2003, иногда при входе в систему я получаю WM_QUERYENDSESSION из операционной системы с lParam = 0, который мое приложение интерпретирует как запрос на отключение (как указано в http://msdn.microsoft.com/en-us/library/aa376890%28VS.85%29.aspx) и, как следствие, выполняет свою задачу. Проблема в том, что я вхожу в систему, а не выключаю или перезагружаю систему.

Я думаю, что это, вероятно, связано с управлением сессиями под Windows 2003 Server, поскольку тот же инструмент работает довольно хорошо в Windows XP.

Я пытался ограничить удаленный доступ максимум 1 удаленным сеансом на пользователя, но это не изменило его поведение.

Любой намек на это?

1 ответ

Я полагаю, что этот ответ слишком поздно, чтобы быть полезным для вас, но для кого-то еще, у кого может быть та же проблема: в прошлом я успешно использовал функцию SetConsoleCtrlHandler без таких же неожиданных ложных срабатываний что WM_QUERYENDSESSION, кажется, склонен к. Это может стоить попробовать.

Другие вопросы по тегам