Python 在计算机睡眠/休眠后冻结
我有一个使用 pythonw 在后台运行的 python 脚本。如果我关闭笔记本电脑,它就会进入睡眠模式。当我打开笔记本电脑时,我的程序几乎没有任何功能,并在几秒钟后冻结。有什么方法可以让我的脚本知道我的计算机是否进入睡眠模式,以便它可以处于休眠状态并在我重新打开笔记本电脑时重新启动?
I have a python script that is running in the background with pythonw. If I close my laptop, it goes into sleep mode. and when I open my laptop, my program has little functionality and freezes after a couple of seconds. Is there any way that my script can tell if my computer is going into sleep mode, so that it can lie dormant and restart when I re-open my laptop?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以捕获其中包含
PBT_APMQUERYSUSPEND
事件的WM_POWERBROADCAST
窗口消息。要在Python程序中捕获此消息,您可以创建新的不可见窗口并让单独的线程重复调用GetMessage()
。在最坏的情况下,您可以仅使用
ctypes
来归档所有这些,但您也可以使用pywin32
,有时称为win32py
。You can catch
WM_POWERBROADCAST
window message withPBT_APMQUERYSUSPEND
event inside it. To catch this message inside Python program, you can create new invisible window and make separate thread repeatedly callingGetMessage()
.In the worst case you can archieve all these by using
ctypes
only, but you can also usepywin32
, sometimes referred to aswin32py
.