检查GUI应用程序是否正在运行(并响应)

时间:2020-06-29 07:15:15

标签: c# .net windows

我想检查一个应用程序(WinForms GUI应用程序)是否正在运行。目前,我使用以下代码:

bool isRunning = Process.GetProcessesByName("SomeApp.exe").Any();

此解决方案有一个主要问题:当应用程序崩溃时,例如由于缺少DLL,通常的Windows错误消息“应用程序Bla停止工作...”弹出。并且显示此消息框时,该过程仍然存在,我的代码返回true。

还有其他方法可以检查应用程序是否真正响应(例如,通过向窗口发送一些消息并等待响应)吗?

1 个答案:

答案 0 :(得分:0)

Process类公开名为Responding1)的属性。它会尝试与用户界面联系,如果没有立即响应,则它将返回false,表明用户界面当前没有响应。