问题描述
现在正在执行一个WinForm的程序,启动该程序的路径是:E:ClientApplication1binDebugApplication.exe怎样用一个进程对这个执行的程序进行监控,并且如果发现该程序关闭的话能够启动该程序?哪位大G能帮帮我啊。最好是有源码。。太感谢了。。。。
解决方案
解决方案二:
让那个进程每隔一段时间就往数据库里写一个数据,然后监控程序读取那个数据,如果超时每写数据,认为该进程已经挂掉,进行处理!
解决方案三:
双进程保护dualthreadprotection双进程保护就是有两个进程互相监听,当一个进程被终止是,另一个进程会立即将其恢复,这在网吧中是比较常见的,网吧的记费系统往往才用这种手段,以防止被恶意终止进程.目前也有许多病毒和木马应用了双进程保护,以达到攻击者目的。
解决方案四:
privatevoidCheckProcess(stringprocessName){//根据线程名获得线程Process[]p=Process.GetProcessesByName(processName);//如果线程不存在就启动应用程序if(p.Length<=0){Process.Start(@"E:ClientApplication1binDebugApplication.exe");}}privatevoidtimer1_Tick(objectsender,EventArgse){//用timer定时来执行CheckProcess("Application");}privatevoidForm1_Load(objectsender,EventArgse){//窗体加载的时候执行timer1.Start();}
时间: 2024-09-19 23:46:52