在Winforms中检测空闲用户
如果用户处于非活动状态5分钟,我想暂停我的程序。 通过不活动,我的意思是在那段时间内没有按下他们的鼠标或键盘(包括在程序之外!)。 任何起点?
在计时器中,您可以调用GetLastInputInfo()
,它将返回自从用户检测到输入以来当前会话中所有进程的数字ms。
这个问题与一个老问题非常相似:
.NET等效于GetLastInputInfo?
其中引用了一篇描述C#中不同选项的好文章:
https://www.codeproject.com/KB/cs/uim.aspx
如果您不介意使用P / Invoke并限制在Windows系统上运行,那么使用P / Invoke调用GetLastInputInfo()可能是完成您想要的最简单的方法。
你可以覆盖WndProc并查找WM_IDLE消息
我前段时间使用过GMA.UserActivityMonitor库来实现这一目标。
看起来我找到了你的问题的解决方案,看看:
如何检测Winforms应用程序已空闲一段时间并且用户34660回答,
对于您的应用,必须更改:
const int MinuteMicroseconds = 60000;
至
const int MinuteMicroseconds = 300000;
这只是时间,但是在ms。
适用于我的Windows窗体应用程序。
上述就是C#学习教程:在Winforms中检测空闲用户分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/1016098.html