Скажите перезагрузка из выключения на Windows Server 2008 - PullRequest
0 голосов
/ 02 ноября 2010

Согласно MSDN, невозможно определить, произошла ли перезагрузка или завершение работы с помощью сообщения WM_ENDSESSION.

Я нашел единственный способ сделать это, но это довольно уродливои работает только для Windows 2000 Server, но не для 2008 Server.

Причина, по которой я спрашиваю, заключается в том, что я в процессе переноса демона Linux на Windows в качестве системной службы.Этот демон действует по-разному при перезагрузке и отключении системы.

Я также использую python с pywin32 в проекте, если это как-то помогает ответить.

1 Ответ

0 голосов
/ 22 февраля 2011

Вам необходимо исследовать использование HookAPI (SetWindowsHookEx?) Для захвата всех вызовов ExitWindowsEx до того, как они произойдут.

Ссылки, которые могут помочь: http://pastebin.com/raw.php?i=KMKiMfBD http://www.codeproject.com/KB/system/Paladin.aspx

...