作者热门文章
- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
我们使用 GetLastInputInfo并计算与GetTickCount64的结果的差来判断闲置。但是,GetLastInputInfo 返回的滴答计数被写入到 LASTINPUTINFO 的成员 dwTime 中,它是一个 DWORD,因此是一个无符号的 32 位整数,最大值为 4294967295,相当于 ~49 天。在正常运行时间比这更长的机器上,这当然会导致函数报告不正确的值。
显然没有名为 GetLastInputInfo64 的函数,但也许是一个不同名称的函数?
最佳答案
我们使用了一种解决方法。
仅使用 GetLastInputInfo()
的结果来检测 dwTick
是否已更改,而不关心更改了多少。
定期执行此操作。
当滴答声发生变化时(该值与之前的读数不同)启动您自己的计时器并使用它来检测输入何时变为空闲状态,例如 30 秒。
使用这种方法,您将永远不需要处理环绕。
关于c++ - 是否有与 GetLastInputInfo/LASTINPUTINFO 等效的 64 位?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52531072/
我们使用 GetLastInputInfo并计算与GetTickCount64的结果的差来判断闲置。但是,GetLastInputInfo 返回的滴答计数被写入到 LASTINPUTINFO 的成员
我是一名优秀的程序员,十分优秀!