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