防止域GPO成员计算机自动睡眠或休眠

时间:2015-04-15 21:26:07

标签: c#

每个人都做得怎么样?我在使用C#创建的应用程序时遇到问题。我工作的计算机运行的是Windows 7.我的计算机位于域中,是Active Directory中组策略的成员。

此组策略在应用程序运行时激活睡眠或关闭显示。

我在C#中创建了应用程序,并希望在不关闭显示的情况下运行此应用程序。我可以使用C#中的哪种代码来欺骗我的计算机,以为我正在使用我的计算机,例如移动鼠标应用程序而不进入睡眠模式?

我已阅读SetThreadExecutionState和:

[DllImport("kernel32.dll")]
public static extern uint SetThreadExecutionState(uint esFlags);
public const uint ES_CONTINUOUS = 0x80000000;
public const uint ES_SYSTEM_REQUIRED = 0x00000001;
public const uint ES_DISPLAY_REQUIRED = 0x00000002;

in this link

但我不知道如何使用它。你们能提一些暗示吗?在应用程序运行时,如何防止系统或GPO进入睡眠状态或关闭显示屏。

我非常感谢所有人的帮助!

1 个答案:

答案 0 :(得分:0)

这不是答案,只是在评论中格式化代码是不可能的......

在您的问题中,您发布此链接:http://www.thewebflash.com/2015/03/prevent-computer-from-automatically.html

它包含几个示例C#方法,展示了如何使用您在问题中发布的代码。例如:

// Prevent the system from entering sleep and turning off monitor
private void PreventSleepAndMonitorOff()
{
    NativeMethods.SetThreadExecutionState(NativeMethods.ES_CONTINUOUS | NativeMethods.ES_SYSTEM_REQUIRED | NativeMethods.ES_DISPLAY_REQUIRED);
}

这就是我在评论中试图指出的内容。

编辑:

要回答您对@Jonathon Reinhart提出的问题,您应该在现有应用程序中包含此代码。