有没有办法检查用户目前是否空闲?


3

互联网上有一些文档显示,如果用户当前处于空闲状态并且这是detected by checking for keyboard and mouse events,Windows将更改NotifyIcon.BalloonTipShown命令的行为。我目前正在研究一个将大部分时间花费在系统托盘上的应用程序,但不时会弹出多个气球提示,并且我想阻止用户错过他们中的任何一个,如果他们目前离开系统。由于任何当前显示的气球提示如果显示新的气球提示都会被破坏,所以如果用户不在,我想延迟显示它们。

因此,如果应用程序被最小化到系统托盘中,是否有任何方法检查用户是否当前空闲?

4

如何在Win32 LASTINPUTINFO功能?

using System.Runtime.InteropServices; 

[DllImport("User32.dll")] 
static extern bool GetLastInputInfo(ref LASTINPUTINFO plii); 

struct LASTINPUTINFO 
{ 
    public uint cbSize; 
    public uint dwTime; 
} 
  0

对! 我只是添加链接到LASTINPUTINFO与LayoutKind.Sequential: http://www.pinvoke.net/default.aspx/Structures/LASTINPUTINFO.html 12 6月. 092009-06-12 20:34:37


1

托管代码

鼠标的检查位置的每一秒。如果有新消息供用户使用,请持续保留,直到您检测到鼠标移动为止。

非托管代码

Detecting Idle Time with Mouse and Keyboard Hooks

  0

键盘输入怎么样? 15 9月. 102010-09-15 17:22:54


0

感谢您的答复,我结束了与GetLastInputInfo功能去,因为它是非常简单的在我工作的应用程序来实现。