【发布时间】:2011-08-17 17:40:36
【问题描述】:
我想阻止系统从 Windows 服务进入睡眠/休眠状态。
我正在调用 SetThreadExecutionState 函数来做到这一点。
但它似乎没有任何效果。
我只想知道函数SetThreadExecutionState 是否适用于Windows 服务。如果不是,那还有什么替代方法。
下面是我正在使用的 C# 代码。我在Onstart 服务方法上调用它。
[DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)]
static extern uint SetThreadExecutionState(EXECUTION_STATE esFlags);
private void KeepAlive()
{
SetThreadExecutionState(EXECUTION_STATE.ES_DISPLAY_REQUIRED | EXECUTION_STATE.ES_SYSTEM_REQUIRED | EXECUTION_STATE.ES_CONTINUOUS)
}
【问题讨论】:
-
返回 0 吗?如果是,GetLastError() 返回什么?
-
@Tony Lee 它返回一个非零值。
-
你用的是什么Windows系统?
标签: c# windows windows-services