Csharp/C#教程:在Winforms中检测空闲用户分享


在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

(0)
上一篇 2021年12月31日
下一篇 2021年12月31日

精彩推荐