我有一个用C#编写的监视程序应用程序,它可以保持MFC进程的运行。 我正在使用System.Diagnostics.Process类中的Exited事件:
Process _currentProcess = new Process();
_currentProcess.Exited += LaunchAgain;
其中LaunchAgain是一个应该再次启动该过程的函数。
问题在于,有时MFC应用程序(当然用C ++编写)会遇到熟悉的异常消息:" MFC应用程序已停止工作",但此应用程序的进程仍然存在。 所以监管机构并不知道应用程序被卡住了,并且在手动重启之前它一直处于停滞状态。
在C#中是否有办法查找MFC应用程序是否在其进程仍处于活动状态时被卡住? 所以我可以使用看门狗自动停止并启动它?