重写SetThreadExecutionState

时间:2011-01-04 21:42:15

标签: windows winapi screen power-management

我不确定这是属于serverfault还是超级用户。

我想将SetThreadExecutionState(ES_DISPLAY_REQUIRED)覆盖为无操作。这是如何完成的?

是否有一些可以更改的注册表设置而不是API挂钩?

  

阻止ES_DISPLAY_REQUIRED会阻止应用程序保持显示器开机状态。我有一个应用程序(可能是防病毒软件)阻止某些显示器进入省电模式,我认为这个功能是罪魁祸首。

1 个答案:

答案 0 :(得分:3)

在你离这条路走得太远之前,你确认 是杀毒软件吗?如果您使用的是Windows Vista或Windows 7,请使用POWERCFG.EXE / REQUESTS(以管理员身份)进行检查。

此外,链接到this threadthis document表示要使用POWERCFG.EXE / REQUESTSOVERRIDE否决SetThreadExecutionState。