文件名称:c#进程守护软件-附源码
文件大小:377KB
文件格式:RAR
更新时间:2021-08-29 07:24:30
c#
前段时间有点空闲就自学了一下c#,以前也没有学过任何编程,只是对电脑操作还是很熟,会一些应用类软件,计算机相关的英文能看懂点。
看了10多节的视频教程,因为基础太差,前面学的东西老会忘,光这样学也没有多大的意义,于是就找个程序一边练一遍学。网上一搜,不知道怎么的就找了一个进程守护的软件,别人提供的源码,好像是在pudn下的,一测试可以运行,就是觉得不太适合自己的操作习惯。于是就开始改造了。牺牲了一周的业余时间,终于完成,在这分享一下,如果有需要的可以自行再改造,版权归原作者,至于我修改的地方,可以任意改,任意传播,没有版权。附上源码,包含源程序的和我改造的部分。只是希望能给像我这样的不会编程的一类朋友一点启示,只要努力,就能达到自己想要的效果。现成的东西,不一定是适合自己的,要想拿来适合自己,也许就需要付出努力。附上修改的说明及截图。没有多大的技术含量,对于会编程的人,也许2下就搞定了,对于不会编程的人,如果刚好需要这样的软件,那就可以偷懒了。测试了win7(x86x64),win8(x86),win10(x64),其他系统没有测试,如果不能运行请自行解决,vs2010编译的,dedug和Release都有编译好的版本。
修改及使用说明
1、配置文件precesses.xml,里面的进程名不要有扩展名,一定要注意。
2、配置文件中的mutl为是否多开,linecount为多开时的限制数,jgtime为守护的周期。
3、配置文件中新增linecount为相同程序限制数(如果程序本身不允许多开那就没办法),可以给每个程序配置不同限制数,但是界面上修改时,只能修改成一样。读取配置后显示最大的那个值在界面上.
4、配置文件中新增jgtime为循环时间,所有程序使用相同的循环时间,配置时可以配置成不一样的,实际没有意义,因只调用了一个定时器,但默认显示并使用最大的那个时间。
5、增加托盘图标提示及菜单
6、取消任务栏图标显示
7、默认启动最小化,如果没有任务栏,只能通过进程结束,固定了窗口不能改变大小
8、主界面增加了退出按钮、清空日志按钮
9、主界面点击关闭按钮后,自动最小化
10、增加进程调用的部分日志显示框,主要是调试方便,日志超过30行自动清屏,未保存,可修改代码关掉或不显示,evertlog目录下多余的日志关掉了,仍然有小部分日志,,如有必要自行在代码中关掉即可。
11、底部增加多开线程输入框及保存按钮,多开进程数大于1小于100,100为无限制模式。增加间隔时间输入框及保存按钮,间隔时间大于等于500,小于等于1000000000之间的整数(毫秒),没有限制再配置中添加应用程序的个数。
12、开始监控及停止监控互锁显示。
13、默认优先读取配置中的最大的间隔时间,如果配置错误会自动初始化为23秒。
14、其他界面布局微调
15、代码自己随意修改太拖沓,会编程的可以进行大量优化。
16、没有做自守护,可以考虑用任务计划写个批处理,再守护它。win764位以上系统,防任务管理栏结束有难度哦。
17、我用的是系统自带的自定义shell启动它,还是很稳定,23秒是我测试的需要,自己可在代码中修改,我修改的地方还是加了不少注释的。
18、调用有些程序可能无法启动的情况,和本软件无关,可能是路径问题,有些程序不允许改变路径运行等,可自己在命令行下测试调用的软件是否运行,我遇到过类似的软件,加入环境变量也不行,只能在同一个目录下。
19、加入配置文件错误的一些纠缠机制(linecount没有会自动创建并赋值3,值为"",也会自动修复),当然错误的情况不够完善,只考虑了没有整项或者值为""的情况,其他情况没有处理,如果遇到其他情况只会导致程序停止,不能对配置的自修复而已,只针对linecout和jgtime做了处理,jgtime整项如果没有,会自动修复为23000毫秒。程序自修复配置文件后,会自动运行,如遇不能修复的问题根据catch出的问题,自行修改源码,加入到出错情况的处理。
20、只测试了win7x86x64,win8x86,win10x64,精简系统可能无法运行,自己测试了一个5年前的极度精简的win7系统,无法运行没有任何提示,也没有去验证到底是什么问题,但大多数精简系统都行。
21、增加鼠标悬停帮助提示,提示框可能有拖影的情况,自行修改源码中的时间参数,也可改用另一种呈现方式不会拖影,源码中有,就是没有那么好看,鼠标悬停提示有点耗cpu资源。
22、双击进程框列出的需要守护监控的进程,可以查看该进程更多详细信息。
23、配置文件中路径,一定要注意用\\表示,比如
【文件预览】:
ProcessMonitor
----UpgradeLog.XML(6KB)
----Backup()
--------ProcessMonitor.suo(23KB)
--------ProcessMonitor()
--------ProcessMonitor.sln(932B)
----ProcessMonitor.suo(89KB)
----ProcessMonitor()
--------processes.xml(523B)
--------Program.cs(2KB)
--------ProcessMonitor.cs(52KB)
--------ProcessMonitor.csproj(11KB)
--------app.config(77B)
--------obj()
--------bin()
--------ProcessMonitor.Designer.cs(21KB)
--------Desktop 2.ico(5KB)
--------MyHelper.cs(7KB)
--------app.manifest(2KB)
--------ProcessMonitor.resx(23KB)
--------ProcessMonitor.csproj.user(629B)
--------MyProcess.cs(375B)
--------Properties()
----ProcessMonitor.sln(2KB)
----_UpgradeReport_Files()
--------UpgradeReport.css(3KB)
--------UpgradeReport_Plus.gif(71B)
--------UpgradeReport.xslt(12KB)
--------UpgradeReport_Minus.gif(69B)