我想检查一个应用程序(WinForms GUI应用程序)是否正在运行。目前,我使用以下代码:
bool isRunning = Process.GetProcessesByName("SomeApp.exe").Any();
此解决方案有一个主要问题:当应用程序崩溃时,例如由于缺少DLL,通常的Windows错误消息“应用程序Bla停止工作...”弹出。并且显示此消息框时,该过程仍然存在,我的代码返回true。
还有其他方法可以检查应用程序是否真正响应(例如,通过向窗口发送一些消息并等待响应)吗?