我有一个pythonw在后台运行的python脚本。如果我关闭笔记本电脑,它会进入睡眠模式。当我打开我的笔记本电脑时,我的程序几乎没有功能,几秒钟后就冻结了。有没有什么方法可以让我的脚本知道我的电脑是否进入睡眠模式,以便在我重新打开笔记本电脑时可以休眠并重新启动?Python在计算机休眠/休眠后死机
回答
您可以在其中捕获WM_POWERBROADCAST
窗口消息,其中包含PBT_APMQUERYSUSPEND
事件。要在Python程序中捕获此消息,您可以创建新的不可见窗口并分别重复调用GetMessage()
。
在最坏的情况下,您可以通过仅使用来实现所有这些,但您也可以使用pywin32
,有时也称为win32py
。
这只适用于GUI,因为此python编程作为服务运行。通过在服务中运行的线程中调用GetMessage()可以达到同样的效果吗? – user204088 2014-10-10 14:33:23
@ user204088,这取决于。您可以为您的服务启用交互式用户,这样您就可以直接创建隐形窗口,但这需要控制台用户登录;或者使用'RegisterServiceCtrlHandlerEx'并在'HandlerEx'中监听'SERVICE_CONTROL_POWEREVENT' – toriningen 2014-10-10 19:26:01
- 1. 从C#休眠计算机#
- 2. 计算机休眠时启动LaunchAgent睡眠
- 3. 如何在计算机休眠后恢复Selenium RC测试?
- 4. 计算机从休眠状态恢复后的RasConnectionNotification
- 5. 休眠发电机机类不增加
- 6. 休眠例外:死锁
- 7. OS重启,关机,休眠,睡眠,唤醒(视窗Python)的
- 8. 休眠DAO设计
- 9. 在休眠映射计算字段
- 10. 在多个虚拟机上休眠
- 11. 做一些事情,当计算机进入“休眠”
- 12. 我的休眠测试程序在执行期间死机
- 13. 休眠。
- 14. 休眠:
- 15. 在休眠
- 16. 在休眠
- 17. 表在休眠
- 18. 在休眠
- 19. TransientObjectException在休眠
- 20. HashSet在休眠
- 21. 在休眠
- 22. 休眠:更改休眠连接
- 23. 休眠与Tomcat与休眠与JBoss
- 24. 休眠 - 一个休眠映射
- 25. 休眠计算标准订单
- 26. 如何计算Grails /休眠:Message.countBy
- 27. 休眠/ JPA添加计算领域
- 28. 本机查询的休眠异常
- 29. 休眠多个本机SQL语句
- 30. 休眠:使用本机SQL + addEntity()
哪个操作系统? – wallyk 2009-12-24 20:42:06
在32位模式下编译的Windows Vista SP1 64位Python 2.6 – user235024 2009-12-31 04:35:35