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 273
下载积分: 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 个回复

  • ccnvecixntapplication
    A MATLAB application, very convenient!
    2017-05-11 13:06:42下载
    积分:1
  • mallocpool-0.9.4.tar
    malloc pool 内存池实现原理及源代码(malloc pool )
    2016-11-30 15:04:38下载
    积分:1
  • CacheManager
    说明:  高效的内存管理机制和原理的分析,电子书籍,好资料(Efficient memory management mechanisms and principles of analysis, e-books, and good information)
    2009-07-21 23:01:27下载
    积分:1
  • CSA算法MATLAB代码
    本代码详细的阐述了CSA算法的编写过程 具体参数参考合成孔径雷达成像-算法与实现
    2019-04-03下载
    积分:1
  • PeerYou远控制软件源代码
    完全实现注册表处理,文件处理。服务端采用多线程服务,能最好的处理SOCKET请求。数据接收、发送函数可以说是现阶段最好的,采用异步重叠操作。可以取得被控机器上的硬件信息,文件信息,注册表以及进行屏幕控制。 代码中的SOCKET重叠I/O的实现也很值得参(complete registry handling, document handling. Server using multithreading services will best address SOCKET request. Data reception, sending function can be said at this stage the best, using asynchronous overlapping operations. Machines can get charged with the hardware information, document information, registry and control for the screen. SOCKET code of overlapping I/O is also the realization worth Participation)
    2005-05-07 13:56:36下载
    积分:1
  • HookRegister
    控制注册表,注册表监控操作、拦截操作,结构清晰(Control registry, registry monitoring operation, blocking action)
    2011-02-01 12:00:41下载
    积分:1
  • MSIIVP
    简单的聊天系统,本程序是使用vc进行编程的,可以学习的()
    2018-04-10 14:59:50下载
    积分:1
  • 663705
    说明:  Produce a real random number 产生真正的随机数(Produce a real random number produces real random numbers)
    2018-12-26 07:58:01下载
    积分:1
  • SetThreadContext
    This code is the simple SetThreadContext code. This is suitable for beginner of Visual C++.
    2010-07-28 14:37:36下载
    积分:1
  • getmac
    说明:  vc编写的获取windows平台网络硬件地址的软件(get windows mac address)
    2020-06-21 19:00:01下载
    积分:1
  • 696518资源总数
  • 106222会员总数
  • 14今日下载