如何确定屏幕保护程序正在运行?

4

有一个解决方案可以建议,就是定期查找特殊的“屏幕保护程序”桌面,如果存在,则将其视为正在运行的屏幕保护程序。

但显然,并非所有屏幕保护程序都是这种情况,因为有些屏幕保护程序始终存在所述桌面。

是否有更可靠的解决方案?

5个回答

10

查看使用SPI_GETSCREENSAVERRUNNING参数的WINAPI函数SystemParametersInfo()。这是唯一文档记录的检测屏幕保护程序是否正在运行的方法。(你还可以使用此函数了解屏幕保护程序是否已启用,获取和设置超时值以及启动屏幕保护程序。)


2

1

-1

是我对屏幕保护程序事件检测的实现。

注:

  • SPI_GETSCREENSAVERRUNNING 检测 Windows 事件 ID 4802 和 4803,在我的情况下不准确,请参见我的问题,因此添加了用户空闲时间计算。
  • GetLastInputInfo 显然在进程为服务时无法工作。

-2

搜索具有 .scr 扩展名的 .MainModule.FileName 的进程


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接