Я хочу, чтобы пользователи не закрывали или не перезапускали систему. мое приложение запускается как родной сервис Win32 (написанный C++) и под учетной записью LocalSystem.Как предотвратить остановку или перезапуск системы в службе Win32?
Я слышал о WM_QUERYENDSESSION Это решение: создание скрытого окна и захват WM_QUERYENDSESSION для предотвращения выключения.
но это решение не очень чистое и также необходимо создать одно окно для каждого рабочего стола. Поэтому я должен перечислить рабочие столы, а также заботиться о том, когда рабочий стол создан/уничтожен. Все это делает ситуацию противной!
Есть ли способ обнаружить событие shutdown/restart и предотвратить выключение/перезапуск системы?
(Не важно, что событие выключения или перезагрузки, оба они должны быть отменены!)
Теперь, если вы можете предотвратить спонтанные перезагрузки, у вас действительно есть что-то! –
@hoohoo: Конечно, я не собираюсь этого делать! – Isaac