在没有用户交互的30秒后提升事件

Nom*_*cio 3 c# wpf

我正在编写一个WPF应用程序,如果用户没有与该程序交互30秒,我想提出一个事件.也就是说,没有键盘或/和鼠标事件.

我想要这样做的原因是因为如果变量alertstate设置为true,我想引起对屏幕的注意.

我正在考虑使用类似的东西,BackgroundWorker但我真的不知道如何让用户没有与该程序交互的时间.有人能指出我正确的方向吗?

我想这个问题基本上归结为检查用户是否与屏幕进行了交互.我该怎么做呢?

Gam*_*ist 7

一种方法是使用GetLastInputInfo.此信息将为您提供自上次用户在鼠标/键盘上进行交互后经过的时间(以刻度表示).
你可以在这里获得信息:http: //www.pinvoke.net/default.aspx/user32.GetLastInputInfo
因此有一个计时器,它会检查上次进行交互的时间.如果您需要精确度,您可以检查每个5秒,例如,或者您可以,当您看到空闲持续y秒(y <30)时,设置一次性计时器将检查空闲时间后(30- y)秒.