【发布时间】:2013-11-29 11:05:16
【问题描述】:
我创建了一个防止系统休眠的方法如下:
public static void KeepSystemAwake(bool bEnable)
{
if (bEnable)
{
EXECUTION_STATE state = SetThreadExecutionState(EXECUTION_STATE.ES_DISPLAY_REQUIRED | EXECUTION_STATE.ES_CONTINUOUS);
}
else
{
EXECUTION_STATE state = SetThreadExecutionState(EXECUTION_STATE.ES_CONTINUOUS);
}
}
该方法阻止系统休眠,但是当我调用该方法的 ES_CONTINUOUS 部分时,当我希望它正常运行时,系统根本不会休眠。我错过了什么?我在不同的线程(定时器)中运行这段代码
【问题讨论】:
-
当我希望它正常运行时,系统根本不休眠 大概你已经证明没有其他进程调用
SetThreadExecutionState来保持PC 清醒,对吧? -
是的。它只是我的应用程序。当我停止我的应用程序时,一切都恢复正常
标签: winapi c#-4.0 timer pinvoke