我正在寻找最佳方法来判断我的WPF应用程序中的用户是否处于空闲状态。目前,我从操作系统获取这个空闲时间,如果他们最小化应用程序并在互联网上搜索,那么操作系统中会有一个进程,因此操作系统不会认为这是空闲时间,即使他们在应用程序内部没有做任何事情。然而,我想找出他们是否没有在我的应用程序内点击或执行任何操作。
这就是我现在可以获得空闲时间的方式。
myApplication.MainMethod()
{
System.Windows.Forms.Timer myTimer = new System.Windows.Forms.Timer();
myTimer .Interval = 1000;
myTimer .Tick += new EventHandler(Timer_Tick);
myTimer .Start();
}
void Timer_Tick(object sender, EventArgs e)
{
int idleTime= (int)Win32.GetIdleTime();
if (idleTime<certainNumber)
{
//do this
}
}