欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

应用程序有bug崩溃重启的案例2

程序员文章站 2022-04-21 17:53:12
...

------解决思路----------------------
另外做一个服务或者程序定时监控系统进程。程序奔溃的话,都会在入口函数出现异常处理一下
winform可以有两个事件来捕获主线程异常和线程异常,Application.ThreadException和Application.SetUnhandledExceptionMode
你做一个保姆程序,主程序启动时通过ServiceController启动你的服务,窗体退出前停止你的服务。
服务的代码大致如下:

System.Timers.Timer timer = new System.Timers.Timer(500);
timer.Elapsed += Nurse;
timer.AutoReset = true;
timer.Start();
private void Nurse(object sender, System.Timers.ElapsedEventArgs e)
{ if (Process.GetProcessesByName("报错窗体进程名称").Where(s => s.MainWindowHandle != IntPtr.Zero).Count() > 0)
{
//杀死该进程
}
if (Process.GetProcessesByName("你的应用进程名称").Where(s => s.MainWindowHandle != IntPtr.Zero).Count() == 0)
{
//重启你的程序
} }
原文链接:http://www.myexception.cn/c-sharp/2029782.html