Я привык не выключать Windows, а спать. Я установил действие кнопки питания (PB), чтобы сделать это. Когда я хочу выключиться, я должен пойти, чтобы начать -> Завершение работы. Это нормально.
Теперь я думаю о механизме, который будет подключен к PB. Должен запускаться после нажатия PB, но до того, как ОС перейдет в спящий режим. Что-то, что проверит несколько условий (например, запуск резервного копирования, сканирование AV, ...) и, если true (что-то работает), помешает перейти в спящий режим.
Опционально: было бы неплохо запустить тот же "механизм" перед перезапуском и выключением (вызывается не только из меню "Пуск", но и другим программным обеспечением (например, установщиками), но с возможностью разрешения некоторых источников (например, программного обеспечения ИБП).
В общем: Как запустить что-то после PowerButton, но перед сном. Как кодировать (C # .NET, vbs, batch (предпочтительно)) предотвращение сна (отмена).