在Python中检测计算机/程序关闭?
我有一个Python脚本,定期循环运行,对我的照明系统进行调整。当我关闭电脑时,我希望我的脚本能够检测到这一点,并将灯全部关闭 如何在Python中检测计算机开始关闭在Python中检测计算机/程序关闭?,python,windows,Python,Windows,我有一个Python脚本,定期循环运行,对我的照明系统进行调整。当我关闭电脑时,我希望我的脚本能够检测到这一点,并将灯全部关闭 如何在Python中检测计算机开始关闭 或者,假设Windows向Python发送“关机时间”通知,我如何拦截该通知以关闭灯光并退出循环?这是在系统关机时执行操作的错误方式。关机过程的工作是停止正在运行的过程,然后关闭电源;如果您试图从程序内部检测到这种情况,并通过执行一些最后的操作来做出反应,那么这就是操作系统和您的程序之间的一场竞赛,谁先执行。更有可能的是,您的程序
或者,假设Windows向Python发送“关机时间”通知,我如何拦截该通知以关闭灯光并退出循环?这是在系统关机时执行操作的错误方式。关机过程的工作是停止正在运行的过程,然后关闭电源;如果您试图从程序内部检测到这种情况,并通过执行一些最后的操作来做出反应,那么这就是操作系统和您的程序之间的一场竞赛,谁先执行。更有可能的是,您的程序在执行必要的操作之前已经停止 相反,您应该挂接到正常协议中,以便在关机时执行操作。这将告诉关机实用程序向您的程序发送一个明确的信号,并等待它被确认,这将给您足够的时间(在合理的范围内)执行您必须执行的操作。如何准确注册以获得通知因操作系统而异,因此这更多是一个操作系统特定的问题,而不是Python问题。您应该对消息做出反应 此消息在用户注销或计算机关闭时发送 如果您也想对睡眠/休眠做出反应,则需要使用
PBT\u APMSUSPEND
但我不知道如何在python中实现这一点。我想这取决于您的窗口框架,因为您需要一个windows/a消息循环来接收消息。嗨,Crummy,关于如何使用代码实际实现某些东西的问题属于StackOverflow(管理员应该能够迁移它)。可能重复感谢-您的评论让我想到了我想找的内容。谢谢你的帮助!