下你所需,载你所想!
汇集开发技术源码资料

软件守护程序进程是否崩溃或不存在

:216.908KB :1 :2020-07-08 14:10:57

部分简介

如果程序进程出现未响应或者不存在等情况
软件守护会自动结束进程重新启动被检测的软件适合用在服务器长期运行的软件。

进程名 = 组合框_进程名.内容
.如果 (进程_是否存在 (进程名) = 真)
.如果真 (进程名 ≠ “”)
pid = 读配置项 (取运行目录 () + “\进程信息.ini”, “进程”, 进程名, )
路径 = 进程_PID取路径 (到整数 (pid))
窗口句柄 = 到文本 (进程_ID取窗口句柄 (到整数 (pid)))
窗口标题 = 窗口_取标题 (进程_ID取窗口句柄EX (到整数 (pid)))
进程状态 = 选择 (IsHungAppWindow (进程_ID取窗口句柄 (到整数 (pid))) = 0, “正在运行”, “未响应”)
编辑框_进程信息.内容 = “进程名:” + 进程名 + #换行符 + “窗口标题:” + 窗口标题 + #换行符 + “窗口句柄:” + 窗口句柄 + #换行符 + “PID:” + pid + #换行符 + “进程状态:” + 进程状态 + #换行符 + “路径:” + 路径
.如果真 (进程状态 = “未响应”)
.如果真 (进程_结束 (到整数 (pid)) = 真)
运行 (路径, 假, )
文件_删除 (取运行目录 () + “\进程信息.ini”)
组合框_进程名.清空 ()
进程_枚举 (进程名数组, 进程ID数组)
.计次循环首 (取数组成员数 (进程名数组), i)
写配置项 (取运行目录 () + “\进程信息.ini”, “进程”, 进程名数组 [i], 到文本 (进程ID数组 [i]))
.如果真 (进程名数组 [i] ≠ “”)
组合框_进程名.加入项目 (进程名数组 [i], )
.如果真 (进程名数组 [i] = 进程名)
i_位置 = i + 1
调试输出 (i_位置)

.如果真结束

.如果真结束

.计次循环尾 ()
组合框_进程名.现行选中项 = i_位置

软件守护程序进程是否崩溃或不存在

热门推荐

相关文章