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