我有一个Python脚本,该脚本定期循环运行,以对我的照明系统进行调整。当我关闭计算机时,我希望我的脚本能够检测到该问题,然后完全关闭灯。
如何检测我的计算机开始在Python中关闭?
或者,假设Windows向Python发送了“关闭时间”通知,我该如何拦截它以杀死我的灯并退出循环?
您应该对WM_ENDSESSION消息作出反应。
WM_ENDSESSION
当用户注销或计算机关闭时,将发送此消息。
如果要应对睡眠/休眠以及,你需要处理WM_POWERBROADCAST与PBT_APMSUSPEND。
WM_POWERBROADCAST
PBT_APMSUSPEND
但是我不知道如何在python中做到这一点。我猜这取决于您的窗口框架,因为您需要一个Windows /消息循环来接收消息。