SetThreadExecutionState阻止手动睡眠

在Windows 7中,我看到的是一个电话SetThreadExecutionState与参数ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_AWAYMODE_REQUIRED ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_AWAYMODE_REQUIRED ES_CONTINUOUS | ES_SYSTEM_REQUIRED | ES_AWAYMODE_REQUIRED正在阻止用户手动将系统置于睡眠状态。

打开开始菜单并选择“睡眠”后,显示屏将关闭,但我的应用程序将继续处理。 风扇继续全速行驶并唤醒计算机后,我可以看到睡眠过程中正在进行的操作已经取得了进展。

如何让SetThreadExecutionState生效时让用户手动让他们的电脑进入睡眠状态?


包含ES_AWAYMODE_REQUIRED选项会导致此问题。 从MSDN文章引用:

仅当需要系统执行后台任务的媒体应用程序(例如,在系统似乎处于睡眠状态时将电视内容或流媒体录制到其他设备)时,才应使用ES_AWAYMODE_REQUIRED值。 不需要关键后台处理或在便携式计算机上运行的应用程序不应该启用离开模式,因为它可以通过输入真实的睡眠来防止系统节能。

链接地址: http://www.djcxy.com/p/62475.html

上一篇: SetThreadExecutionState preventing manual sleep

下一篇: can we call WaitForSingleObject multiple times from single thread for Mutex