Python检测Windows上的屏幕保护程序启动/停止事件

时间:2016-06-14 19:19:06

标签: python python-2.7

Python 2.7脚本如何检测Windows屏幕保护程序的启动/停止事件?

1 个答案:

答案 0 :(得分:1)

您实际上可以使用Pywin32执行此操作。 Pywin为Win32 API和COM提供了Python绑定。

关于您的问题,它允许您“监听”Windows事件 - 例如Windows ScreenSaver的启动/停止事件。

您应该能够通过执行以下操作来获取屏幕保护程序的当前状态:

import win32gui, win32con

def CheckScreenSaverState():
  return win32gui.SystemParametersInfo(win32con.SPI_GETSCREENSAVERRUNNING)

在这个例子中,我们使用win32gui,它允许访问Windows应用程序的GUI。通过调用win32gui.SystemParametersInfo(这是一个实际属于Windows GUI消息系统的函数 - 超出此解释的范围,阅读更多here),我们可以获得屏幕保护程序的状态,使用SPI_GETSCREENSAVERRUNNING常量(这是Windows操作系统的内部常量)。我写的这个方法应该返回屏幕保护程序状态的布尔值(如果不是,则运行False)。

我没时间测试它,但告诉我它是怎么回事我可以帮助你。

祝你好运, 汤姆。