zoukankan      html  css  js  c++  java
  • C#程序中防止PPC自动进入待机状态

     [DllImport("CoreDll.dll")]
          private static extern void SystemIdleTimerReset();

          private static int nDisableSleepCalls = 0;
          private static System.Threading.Timer preventSleepTimer = null;

          private static void PokeDeviceToKeepAwake(object extra)
            {
              try
              {
                  SystemIdleTimerReset();
                }
              catch (Exception e)
              {
                    // TODO
                }
          }
           
            /**//// <summary>
          /// 禁止设备自动关闭电源
            /// </summary>
          public static void DisableDeviceSleep()
          {
                nDisableSleepCalls++;
              if (nDisableSleepCalls == 1)
              {
                  //Debug.Assert(preventSleepTimer == null);
                    // 没隔30秒刷新一次计时器
                  preventSleepTimer = new System.Threading.Timer(new System.Threading.TimerCallback

    (PokeDeviceToKeepAwake),
                        null, 0, 30 * 1000);
                }
            }
            /**//// <summary>
            /// 允许设备自动关闭电源
            /// </summary>
            public static void EnableDeviceSleep()
            {
                nDisableSleepCalls--;
                if (nDisableSleepCalls == 0)
                {
                    //Debug.Assert(preventSleepTimer != null);
                    if (preventSleepTimer != null)
                    {
                        preventSleepTimer.Dispose();
                        preventSleepTimer = null;
                    }
              }
          }

            在定时开始时调用DisableDeviceSleep方法就OK了。
  • 相关阅读:
    开发中常用的JS知识点集锦
    浏览器音频兼容和ffmpeg的音频转码使用
    web页面和小程序页面实现瀑布流效果
    微信小程序之支付密码输入demo
    Mac安装nginx配置过程
    前端工具mock的使用
    汇编语言学习
    Swift学习笔记
    如何快速融入团队并成为团队核心(四)
    如何快速融入团队并成为团队核心(三)
  • 原文地址:https://www.cnblogs.com/jordan2009/p/1732623.html
Copyright © 2011-2022 走看看