Internet 上有一些文档显示,如果用户当前处于空闲状态,Windows 会更改 NotifyIcon.BalloonTipShown 命令的行为,这可以通过检查键盘和鼠标事件来检测。我目前正在开发一个应用程序,该应用程序大部分时间都在系统托盘中,但不时会弹出多个气球提示,我想防止用户在当前离开时错过其中的任何一个系统。由于如果显示新的气球提示,任何当前显示的气球提示都会被破坏,所以如果用户不在,我想推迟显示它们。
因此,如果应用程序最小化到系统托盘,有什么方法可以检查用户当前是否空闲?
Internet 上有一些文档显示,如果用户当前处于空闲状态,Windows 会更改 NotifyIcon.BalloonTipShown 命令的行为,这可以通过检查键盘和鼠标事件来检测。我目前正在开发一个应用程序,该应用程序大部分时间都在系统托盘中,但不时会弹出多个气球提示,我想防止用户在当前离开时错过其中的任何一个系统。由于如果显示新的气球提示,任何当前显示的气球提示都会被破坏,所以如果用户不在,我想推迟显示它们。
因此,如果应用程序最小化到系统托盘,有什么方法可以检查用户当前是否空闲?
Win32 LASTINPUTINFO函数怎么样?
using System.Runtime.InteropServices;
[DllImport("User32.dll")]
static extern bool GetLastInputInfo(ref LASTINPUTINFO plii);
struct LASTINPUTINFO
{
public uint cbSize;
public uint dwTime;
}
感谢您的回复,我最终选择了 GetLastInputInfo 函数,因为它在我正在处理的应用程序中实现起来非常简单。