监视python中的显示状态?

Unk*_*ech 2 python winapi

如何判断Windows何时更改显示器电源状态?

Ces*_*arB 5

看来,当Windows要启动屏幕保护程序或关闭显示器电源,它会发出WM_SYSCOMMAND的最顶层窗口用wParamSC_SCREENSAVE(启动屏幕保护程序)或wParamSC_MONITORPOWERlParam的1或2(将显示器关闭).然后将传递此消息DefWindowProc,实际上将执行操作.因此,如果您的窗口恰好是最顶层的窗口,您可以拦截这些事件并忽略它们(或者在传递它们之前做任何您想要的事情DefWindowProc).

在Windows Vista上,似乎有一种更直观,更可靠的方式来了解显示器电源状态.你打电话RegisterPowerSettingNotification来告诉系统发送您的窗口WM_POWERBROADCAST与消息wParamPBT_POWERSETTINGCHANGE和一个lParam指向一个POWERBROADCAST_SETTING结构.

我无法测试其中任何一个,因为我目前没有附近的Windows计算机.但是,我希望他们能指出你正确的方向.

参考文献: