zoukankan      html  css  js  c++  java
  • windows下用户鼠标键盘闲置时间的获取

    msdn上已经有个神奇的系统函数GetLastInputInfo用来获取用户的最后输入(鼠标或键盘)时间。

    PS:vs2005版本的msdn才有,vc6版本较低,是没有这个系统函数的。并且明确表示支持该函数的系统仅仅是windows 2000(事实上,NT内核的所有版本系统应该都是支持的,笔者win 7测试通过)。

    原型如下:

    BOOL GetLastInputInfo(
        PLASTINPUTINFO plii
    );
    

    使用方法如下:

     1 /* 获取用户鼠标键盘闲置时间
     2  * 
     3  * 成功返回非负整数,表示用户闲置的毫秒数
     4  * 失败返回负整数
     5  */
     6 int CountUserIdleTime(void)
     7 {
     8     LASTINPUTINFO info;
     9     info.cbSize = sizeof(LASTINPUTINFO);
    10     if (!GetLastInputInfo(&info))
    11         return -1;
    12 
    13     DWORD idle_time = GetTickCount() - info.dwTime;
    14     return (int)idle_time;
    15 }
  • 相关阅读:
    C++ 日期 & 时间
    C++ 引用
    C++ 指针
    C++ 字符串
    C++ 数组
    C++ 数字
    C++ 函数
    C++ 判断
    C++ 循环
    C++ 运算符
  • 原文地址:https://www.cnblogs.com/jogger/p/2453103.html
Copyright © 2011-2022 走看看