是否有与Windows GetLastInputInfo()API 等效的.NET ?
我知道P/Invoke API是可能的,但我正在寻找已经内置在.NET框架中的方法或技术.
检测C#Winforms应用程序是否已空闲一段时间的最佳方法是什么?
如果用户决定使用ALT + TAB并使用Microsoft Word或其他任何工作30分钟,让我们的应用程序未使用,我希望我们的应用程序自行终止.
这是类似问题的可接受答案: 检查应用程序是否在一段时间内处于空闲状态并将其锁定
但是,答案与Windows闲置一段时间有关,而不是特定的应用程序.我希望我们的应用程序终止,如果它没有被用于说,30分钟.
我看着这个:
http://www.codeproject.com/Articles/13756/Detecting-Application-Idleness
但是我在评论中读到这对多线程应用程序不起作用,我们的应用程序就是其中之一.我们的应用程序有一个主窗体,它产生模态和无模式窗体,使用Async Await来填充网格等.
然后我查看了SetWindowsHookEx,不确定这是否有用.
当然有人有一个解决方案(希望与.NET 4.5兼容):)
TIA
让我们说,当用户没有使用该程序2分钟时,我不想弹出一个特定的表格.
意思是:当应用程序运行时,用户没有按任何键/任何按钮/没有移动光标2分钟,我希望应用程序检测到它并显示窗体其中一个窗口的实例.我在c#中使用winform应用程序.
我该怎么做?塔尔.
问题是如何让C#程序(在Windows中运行)在过去的一段时间内检查是否按下了一个键按钮,或者鼠标是否已被移动/点击.
我找到的一个解决方案使用"KeyPress"事件,但这仅在控件(或应用程序)具有焦点时才有效.我正在寻找一种解决方案,即使程序在后台运行也能正常工作.
另外,有一种方法可以从条件中排除某些事件(即键"Z").