互联网上有一些文档显示,如果用户当前处于空闲状态且Windows为detected by checking for keyboard and mouse events,则Windows会更改NotifyIcon.BalloonTipShown命令的行为。我目前正在开发一个将大部分时间花在系统托盘上的应用程序,但不时弹出多个气球提示,我想阻止用户在目前远离系统。由于任何当前显示的气球提示如果显示新的气球提示都会被销毁,如果用户离开,我想暂缓显示它们。
因此,如果应用程序最小化到系统托盘,有没有办法检查用户当前是否处于空闲状态?
答案 0 :(得分: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;
}
答案 1 :(得分:1)
托管代码
每秒检查鼠标的位置。如果有用户有新消息,请抓住它们,直到用鼠标检测到任何移动为止。
非托管代码
答案 2 :(得分:0)
感谢您的回复,我最终使用了GetLastInputInfo函数,因为它非常直接在我正在处理的应用程序中实现。