У меня есть приложение C ++, которое иногда требует перезагрузки Windows, мы делаем это с помощью ExitWindowsEx
if (!ExitWindowsEx(EWX_REBOOT | EWX_FORCE, SHTDN_REASON_MINOR_MAINTENANCE))
return false;
Возвращаемое значение из ExitWindowsEx показывает, были ли поняты параметры и успешно ли Windows обработала запрос на отключение, но само отключение является асинхронным, и по одному возвращаемому значению невозможно определить, будет ли перезагрузка работать на самом деле.
У нас есть ситуация, когда ExitWindowsEx всегда успешно возвращается, но иногда перезагрузка не выполняется, и мы не знаем, почему. Есть ли способ, которым я мог бы отслеживать перезагрузку, кроме вызова этой функции, или запросить причину сбоя?
Спасибо,
Билл.
Задача ещё не решена.
Других решений пока нет …