SetThreadExecutionState

SetThreadExecutionState

我想防止系统从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)
}

最佳答案



(source)

您需要不时地调用此函数。这不是一劳永逸的事情。

关于c# - 从Windows服务调用时SetThreadExecutionState不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5870280/

10-11 00:54