【发布时间】:2012-08-20 11:02:42
【问题描述】:
我想知道是否有办法在全球范围内从 C++ 程序启用或禁用监视器/屏幕超时? (不过我有一个问题,它必须向后兼容 Windows XP SP3。)
我说的是这个全局设置:
这一款适用于 XP:
【问题讨论】:
-
如果您想以编程方式更改该设置...您真的不应该这样做。这对用户非常不友好。如果您只想在程序运行时停止显示器休眠,这里有一个类似的问题:stackoverflow.com/questions/463813/….
-
是的,我听说了,不幸的是,大多数像 SetThreadExecutionState 这样的 API 都非常挑剔。根据我的经验,指定 ES_DISPLAY_REQUIRED 绝对没有效果。
-
我想我明白了:CallNtPowerInformation(SystemPowerPolicyAc),并使用 SYSTEM_POWER_POLICY::VideoTimeout
-
那么您应该将其发布为答案并接受它,否则该问题似乎没有答案,并且不会使将来有相同问题的人受益。
标签: c++ winapi screen power-management