zoukankan      html  css  js  c++  java
  • 获取系统闲置时间

     
    http://www.pinvoke.net/default.aspx/user32.GetLastInputInfo
    [StructLayout(LayoutKind.Sequential)]
    public struct LASTINPUTINFO
    {
      [MarshalAs(UnmanagedType.U4)]
      public int cbSize;
      [MarshalAs(UnmanagedType.U4)]
      public uint dwTime;
    }
    
    static class NativeMethods
    {
       /// <summary>
       /// 获取上一次输入的时间。
       /// </summary>
       /// <param name="plii"></param>
       /// <returns>true:获取成功。false:获取失败。</returns>
       [DllImport("user32.dll")]
       public static extern bool GetLastInputInfo(ref LASTINPUTINFO plii);
       /// <summary>
       /// 获取上一次操作后的闲置时间。
       /// </summary>
       /// <returns>闲置时间的毫秒数。</returns>
        public static long GetIdleTick()
        {
             LASTINPUTINFO vLastInputInfo = new LASTINPUTINFO();
             vLastInputInfo.cbSize = Marshal.SizeOf(vLastInputInfo);
             if (!GetLastInputInfo(ref vLastInputInfo)) return 0;
             return Environment.TickCount - (long)vLastInputInfo.dwTime;
        }
    }

    By Peter.zhang

    From:Peter's Blog                            

    MSN: peter.zhang@live.cn

    电子邮箱:peter.zhang@foxmail.com

  • 相关阅读:
    Qt禁止调整窗口的大小
    CentOS 6.2修改主机名
    怎么培养新人
    软件的质量控制
    如何留住骨干
    物化视图索引引发的问题
    Oracle查询脚本优化
    Oracle视图编译错误解决办法
    spring切面配置,代理用jdk和cglib的区别
    Tomcat起了一个测试桩,调用该测试桩无响应
  • 原文地址:https://www.cnblogs.com/fromchaos/p/2658497.html
Copyright © 2011-2022 走看看