我有一个使用 pythonw 在后台运行的 python 脚本。如果我关闭我的笔记本电脑,它会进入睡眠模式。当我打开笔记本电脑时,我的程序几乎没有功能,几秒钟后就死机了。我的脚本有什么方法可以判断我的计算机是否进入睡眠模式,以便在我重新打开笔记本电脑时它可以处于休眠状态并重新启动?
问问题
2175 次
我有一个使用 pythonw 在后台运行的 python 脚本。如果我关闭我的笔记本电脑,它会进入睡眠模式。当我打开笔记本电脑时,我的程序几乎没有功能,几秒钟后就死机了。我的脚本有什么方法可以判断我的计算机是否进入睡眠模式,以便在我重新打开笔记本电脑时它可以处于休眠状态并重新启动?
您可以在其中捕获带有事件WM_POWERBROADCAST
的窗口消息。PBT_APMQUERYSUSPEND
要在 Python 程序中捕获此消息,您可以创建新的不可见窗口并让单独的线程重复调用GetMessage()
.
在最坏的情况下,您可以通过ctypes
仅使用来归档所有这些,但您也可以使用pywin32
,有时称为win32py
.