Я знаю, что когда Windows выключается, он отправляет сообщение WM_QUERYENDSESSION каждому приложению. Это позволяет легко обнаружить, когда Windows выключается. Однако возможно ли узнать, будет ли компьютер отключен или он перезапустится после завершения работы Windows.
Я не особо надеюсь, учитывая, что документация в MSDN говорит об WM_QUERYENDSESSION
: "... невозможно определить, какое событие происходит", но кумулятивная умность stackoverflow никогда не перестает меня удивлять.