0203  04    09  10该项目是Windows服务,直接打开“CocoWatcher.exe”会报错,如图1所示:运行该守护程序需安装Windows服务,点击批处理文档“安装.bat”即可,“安装.bat”具体内容如下:1"%cd%InstallUtil.exe""%cd%CocoWatcher.exe"2netstart"CocoWatcher"3pause如果你想卸载该守护程序,点击批处理文档“卸载.bat”,“卸载.bat”具体内容如下:1netstop"CocoWatcher"2"%cd%InstallUtil.exe""%cd%CocoWatcher.exe" -u3taskkill/f/imCocoWatcher.exe4pause3.需求分析用户指定要守护的应用程序(数量不限),该应用程序不仅包括exe可执行文件,还包括诸如jpg、txt等所有能双击打开执行的应用程序。用户设定好要守护的应用程序后,关闭应用程序(包括合法和非法关闭),该应用程序要能立即重启打开。当电脑重启时,要守护的应用程序也能自动全部打开。4.详细设计要实现上述需求,首先要提供一个配置档,让用户能随意配置要守护的应用程序。那么,该配置档要配置应用程序的什么信息呢?答案:应用程序的全路径。好,我们已经知道了要守护的应用程序的全路径,接下来怎样完成守护任务呢?首先,我们应该打开任务管理器,查看一下正在运行的有哪些进程,然后逐一读取出这些进程的全路径,与要守护的应用程序的全路径比对,如果一致,说明要守护的应用程序已开启了,此时要分配一条线程监控该进程句柄,当该进程句柄返回信息,说明该进程已关闭,此时释放进程句柄内存,并重启该进程。如果遍历任务管理进程列表中所有进程,没有找到与要守护的应用程序的全路径一致的进程,说明要守护的应用程序尚未打开,此时要启动该应用程序,然后转入监控流程。值得注意的是,一定要额外分配线程去监控要守护的应用程序,为什么?因为如果你用主线程(入口函数线程)去执行监控任务,会被长期阻塞,直到进程退出才会被激活,这样就无法运行后续程序。况且,监控程序要实现持续监控,要使用死循环,如果主线程进入死循环,就无法监控其他要守护的进程了。-IMDN开发者社群-imdn.cn"> 0203  04    09  10该项目是Windows服务,直接打开“CocoWatcher.exe”会报错,如图1所示:运行该守护程序需安装Windows服务,点击批处理文档“安装.bat”即可,“安装.bat”具体内容如下:1"%cd%InstallUtil.exe""%cd%CocoWatcher.exe"2netstart"CocoWatcher"3pause如果你想卸载该守护程序,点击批处理文档“卸载.bat”,“卸载.bat”具体内容如下:1netstop"CocoWatcher"2"%cd%InstallUtil.exe""%cd%CocoWatcher.exe" -u3taskkill/f/imCocoWatcher.exe4pause3.需求分析用户指定要守护的应用程序(数量不限),该应用程序不仅包括exe可执行文件,还包括诸如jpg、txt等所有能双击打开执行的应用程序。用户设定好要守护的应用程序后,关闭应用程序(包括合法和非法关闭),该应用程序要能立即重启打开。当电脑重启时,要守护的应用程序也能自动全部打开。4.详细设计要实现上述需求,首先要提供一个配置档,让用户能随意配置要守护的应用程序。那么,该配置档要配置应用程序的什么信息呢?答案:应用程序的全路径。好,我们已经知道了要守护的应用程序的全路径,接下来怎样完成守护任务呢?首先,我们应该打开任务管理器,查看一下正在运行的有哪些进程,然后逐一读取出这些进程的全路径,与要守护的应用程序的全路径比对,如果一致,说明要守护的应用程序已开启了,此时要分配一条线程监控该进程句柄,当该进程句柄返回信息,说明该进程已关闭,此时释放进程句柄内存,并重启该进程。如果遍历任务管理进程列表中所有进程,没有找到与要守护的应用程序的全路径一致的进程,说明要守护的应用程序尚未打开,此时要启动该应用程序,然后转入监控流程。值得注意的是,一定要额外分配线程去监控要守护的应用程序,为什么?因为如果你用主线程(入口函数线程)去执行监控任务,会被长期阻塞,直到进程退出才会被激活,这样就无法运行后续程序。况且,监控程序要实现持续监控,要使用死循环,如果主线程进入死循环,就无法监控其他要守护的进程了。 - IMDN开发者社群-imdn.cn">
登录
首页 » C# » C# 实现进程守护功能 通用于所有进程,非法关闭和关机依然适用 附完整源码下载

C# 实现进程守护功能 通用于所有进程,非法关闭和关机依然适用 附完整源码下载

于 2013-07-19 发布
0 268
下载积分: 1 下载次数: 0

代码说明:

1. 下载本实例源码                      2. 安装注意事项 在配置档中配置你要守护的应用程序,应用程序之间用逗号隔开: 01 02 03   04     09   10 该项目是Windows服务,直接打开“CocoWatcher.exe”会报错,如图1所示:运行该守护程序需安装Windows服务,点击批处理文档“安装.bat”即可,“安装.bat”具体内容如下: 1 "%cd%InstallUtil.exe" "%cd%CocoWatcher.exe" 2 net start "CocoWatcher" 3 pause 如果你想卸载该守护程序,点击批处理文档“卸载.bat”,“卸载.bat”具体内容如下: 1 net stop "CocoWatcher" 2 "%cd%InstallUtil.exe" "%cd%CocoWatcher.exe"  -u 3 taskkill /f /im CocoWatcher.exe 4 pause 3. 需求分析 用户指定要守护的应用程序(数量不限),该应用程序不仅包括exe可执行文件,还包括诸如jpg、txt等所有能双击打开执行的应用程序。用户设定好要守护的应用程序后,关闭应用程序(包括合法和非法关闭),该应用程序要能立即重启打开。当电脑重启时,要守护的应用程序也能自动全部打开。 4. 详细设计 要实现上述需求,首先要提供一个配置档,让用户能随意配置要守护的应用程序。那么,该配置档要配置应用程序的什么信息呢?答案:应用程序的全路径。 好,我们已经知道了要守护的应用程序的全路径,接下来怎样完成守护任务呢?首先,我们应该打开任务管理器,查看一下正在运行的有哪些进程,然后逐一读取出这些进程的全路径,与要守护的应用程序的全路径比对,如果一致,说明要守护的应用程序已开启了,此时要分配一条线程监控该进程句柄,当该进程句柄返回信息,说明该进程已关闭,此时释放进程句柄内存,并重启该进程。如果遍历任务管理进程列表中所有进程,没有找到与要守护的应用程序的全路径一致的进程,说明要守护的应用程序尚未打开,此时要启动该应用程序,然后转入监控流程。 值得注意的是,一定要额外分配线程去监控要守护的应用程序,为什么?因为如果你用主线程(入口函数线程)去执行监控任务,会被长期阻塞,直到进程退出才会被激活,这样就无法运行后续程序。况且,监控程序要实现持续监控,要使用死循环,如果主线程进入死循环,就无法监控其他要守护的进程了。

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • gettime
    一个记录开关机时间的软件,可以实现开机自运行(a record time for the switch software can be run in Flint)
    2005-04-14 17:48:56下载
    积分:1
  • AystemwV10
    HLPDK V10,0+ System Extension Library,(HLPDK V10, 0 + System Extension Library,)
    2017-08-19 20:30:55下载
    积分:1
  • 67212769
    一个用VC实现的动态LED控件,简单但很好用()
    2017-09-17 03:01:24下载
    积分:1
  • MemLeakAnalyse
    简单的内存泄露的检查和测试的示例代码,如果你的程序有内存泄露可以参考一下(Simple memory leak inspection and testing of sample code, if you have memory leak procedures for reference)
    2007-09-26 11:42:24下载
    积分:1
  • Port_and_Process
    是一个端口关联进程的C源代码(Is a port associated process C source code)
    2008-08-24 18:27:26下载
    积分:1
  • idoq
    名称:制作托盘程序 编译环境:vc++,net2003(Name: make pallet program compile environment: vc, net2003)
    2018-12-30 23:30:19下载
    积分:1
  • Win32Application
    VC++获取到Windows开机运行的时间,不是开机时间,而是从开机后到现在的运行时间,也就是一次开机所运行的时间,如果关机了,可能就不准确了。(The VC++ get to the Windows boot running time is not boot time, but from the boot to the running time, which is the time you turn on the running time, shutdown, and may not be accurate.)
    2013-04-24 17:46:46下载
    积分:1
  • dnlm
    三星2440CPU下WIN MOBILE系统的PCMCIA驱动程序代码!()
    2018-06-10 06:23:54下载
    积分:1
  • 通过C#自带的头文件(类)获取Windows信息
    通过C#通过的类获取系统/硬件信息 
    2020-12-10下载
    积分:1
  • MemoryMouseInfo
    利用VC程序实现系统编程中的跟踪内存状态的功能。(Procedures for system programming using VC in the state to track memory function.)
    2011-10-19 15:52:50下载
    积分:1
  • 696518资源总数
  • 106161会员总数
  • 5今日下载