【发布时间】:2020-06-29 07:15:15
【问题描述】:
我想检查一个应用程序(WinForms GUI 应用程序)是否正在运行。目前我使用这个代码:
bool isRunning = Process.GetProcessesByName("SomeApp.exe").Any();
这个解决方案有一个主要问题:当应用程序崩溃时,例如由于缺少 DLL,会弹出通常的 Windows 错误消息“Application Bla stop working...”。虽然显示此消息框,但该过程仍然存在,并且我的代码返回 true。
是否有任何其他方法可以检查应用程序是否真正响应(例如,通过向窗口发送一些消息并等待响应)?
【问题讨论】:
-
你检查过进程的Responding属性了吗?
-
这听起来完全像我正在寻找的解决方案。谢谢!您介意将其作为答案,以便我接受吗?
-
我很高兴它有帮助。 :D 我已将其发布为答案。我应该删除我的 cmets 以使讨论更加集中吗?