我有一个模态 wpf 应用程序,我需要一种方法来监视应用程序是否仍在工作并且 gui 是否正在使用其他进程进行响应,我想不出它是如何完成的。
在其他应用程序上,我只是从我的主循环中引发一个“活动”事件,但我在 wpf 应用程序中没有任何明确的主循环。
向将引发事件的应用程序添加调度程序计时器是个好主意吗?
正在根据要求将我的评论转换为答案。
我想你正在寻找Process.Responding
财产。这将返回 UI 是否响应。
注意:Process.Responding
不能与没有 UI 的进程一起使用。
如果进程具有用户界面,则 Responding 属性会联系用户界面以确定该进程是否正在响应用户输入。如果接口没有立即响应,则 Responding 属性返回 false。使用此属性可以确定关联进程的接口是否已停止响应。
如果进程没有 MainWindowHandle,则此属性返回 true。
有关更多信息,请查看Process.Responding