防止Windows 7关机
我知道用 shutdown -a
可以取消正在进行的Windows关机,但我想知道有没有什么方法可以检查一下是否有关机正在进行。
理想情况下,我希望能有一个像这样的简单程序:
import os
while True:
shuttingDown = <shutdown variable to check>
if shuttingDown:
os.system("shutdown.exe -a")
1 个回答
1
如果你想在Windows关机的时候进行一些反应,可以关注一下一个叫做 WM_QUERYENDSESSION 的消息(不知道用Python的win32 API能不能简单实现,但在C语言中很简单)。不过,这个方法可能无法阻止应用程序关闭,因为Windows会向那些对查询消息回答“是”的程序发送WM_ENDSESSION消息。
我想你可能更想要的是阻止定时关机,这通常是通过“shutdown.exe”来实现的。我相信这个程序使用了 InitiateSystemShutdown 来显示关机对话框,但我没有找到可以拦截这个调用的资源(至少我没有找到,也不知道Windows有没有这样的功能)。