C#阻止系统休眠

Posted TabZ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#阻止系统休眠相关的知识,希望对你有一定的参考价值。

阻止系统休眠

using System.Runtime.InteropServices;

static class WinSleepCtr
{
    //定义API函数
    [DllImport("kernel32.dll")]
    static extern uint SetThreadExecutionState(uint esFlags);
    const uint ES_SYSTEM_REQUIRED = 0x00000001;
    const uint ES_DISPLAY_REQUIRED = 0x00000002;
    const uint ES_CONTINUOUS = 0x80000000;

    public static void SleepCtr(bool sleepOrNot)
    {
        if (sleepOrNot)
        {
            //阻止休眠时调用
            SetThreadExecutionState(ES_CONTINUOUS | ES_DISPLAY_REQUIRED | ES_SYSTEM_REQUIRED);
        }
        else
        {
            //恢复休眠时调用
            SetThreadExecutionState(ES_CONTINUOUS);
        }
    }
}

 

以上是关于C#阻止系统休眠的主要内容,如果未能解决你的问题,请参考以下文章

C#程序员经常用到的10个实用代码片段 - 操作系统

从休眠 C# 唤醒时的通知

运行PowerShell进程时如何阻止Windows 10机器休眠/休眠?

C#程序员经常用到的10个实用代码片段

阻止 iphone 休眠但允许屏幕锁定

win10 阻止休眠工具