Предотвратить завершение работы Windows 7 - PullRequest
4 голосов
/ 01 марта 2010

Я знаю, что shutdown -a прервет выключение Windows, но мне нужно знать, есть ли что-нибудь, где я могу проверить, чтобы увидеть, происходит ли завершение работы.

В идеале, я бы хотел маленькую программу вроде этой:

 import os

 while True:
    shuttingDown = <shutdown variable to check>
    if shuttingDown:
         os.system("shutdown.exe -a")

1 Ответ

1 голос
/ 02 марта 2010

Для предотвращения завершения работы Windows, когда это происходит, вы можете реагировать на сообщение WM_QUERYENDSESSION (не знаю, можете ли вы сделать это легко с помощью Win32 API Python, но это просто в C). Это может не помешать закрытию приложений, потому что Windows отправляет WM_ENDSESSION тем, кто отвечает TRUE на сообщение запроса.

Полагаю, вы хотите предотвратить временное отключение с помощью shutdown.exe. Я уверен, что программа использует InitiateSystemShutdown , чтобы отобразить диалоговое окно завершения работы, но нет никаких ресурсов для перехвата этого вызова (по крайней мере, я не нашел ни одной из функций Windows, которая допускает такую ​​возможность, или не знал о ней) .

...