易语言怎么添加检测多个运行进程
22个回答
展开全部
方法选择:
①数组法(效率一般,代码简练且灵活,但CPU、内存占用高)
②直接描述法(效率较高,代码繁杂,灵活性差,CPU、内存占用相对较低)
===========分割线============
①数组法:
首先,定义一个文本型的空数组。
像这样:
然后,画一个界面。(提示:用超级列表框可以很直观的看出程序是否正在运行,并且可以随时更新列表项,不需要像其他的列表框那样必须得把所有的表项重画)
越简单越好,就像这样:
然后,双击“添加进程”按钮,来到代码编辑器中。
直接复制这些代码,然后粘贴到编辑器中:
.版本 2
.支持库 EThread
.支持库 iext
.支持库 eAPI
.支持库 spec
.程序集 窗口程序集_启动窗口
.程序集变量 进程列表, 文本型, , "0"
.程序集变量 ThreadHWND, 整数型
.子程序 _按钮1_被单击
.局部变量 临时进程名, 文本型
输入框 (“请输入要监测的进程名”, , , 临时进程名, , )
.如果真 (临时进程名 ≠ “”)
加入成员 (进程列表, 临时进程名)
.如果真结束
启动线程 (&listAllProgress, , )
.子程序 listAllProgress
.局部变量 i, 整数型
超级列表框1.全部删除 ()
.计次循环首 (取数组成员数 (进程列表), i)
超级列表框1.插入表项 (, 进程列表 [i], , , , )
.计次循环尾 ()
.子程序 isProgressRunning
.局部变量 p, 整数型
.局部变量 progressList, 进程信息, , "0"
.局部变量 l, 整数型
progressList = 取系统进程列表 ()
.计次循环首 (取数组成员数 (进程列表), p)
.计次循环首 (取数组成员数 (progressList), l)
' 调试输出 (到文本 (progressList [l].进程名称))
.如果真 (progressList [l].进程名称 = 进程列表 [p])
超级列表框1.置标题 (超级列表框1.查找表项 (进程列表 [p], , , ), 1, “真”)
.如果真结束
.计次循环尾 ()
.计次循环尾 ()
延迟 (3000)
启动线程 (&isProgressRunning, , ThreadHWND)
.子程序 __启动窗口_创建完毕
启动线程 (&isProgressRunning, , ThreadHWND)
.子程序 __启动窗口_将被销毁
强制结束线程 (ThreadHWND)附:代码在附件中已经打包。
效果图
===========分割线============
②直接描述法:
【直接描述法简单到几乎不需要界面,所以这里就只有代码。】
.版本 2
.支持库 eAPI
.支持库 spec
.支持库 EThread
.程序集 窗口程序集_启动窗口
.程序集变量 ThreadHWND, 整数型
.子程序 isProgressRunning
.局部变量 p, 整数型
.局部变量 progressList, 进程信息, , "0"
.局部变量 l, 整数型
progressList = 取系统进程列表 ()
.计次循环首 (取数组成员数 (progressList), l)
' 调试输出 (到文本 (progressList [l].进程名称))
.如果真 (progressList [l].进程名称 = “System”)
调试输出 (“System运行中”)
.如果真结束
.如果真 (progressList [l].进程名称 = “QQ.exe”)
调试输出 (“QQ.exe运行中”)
.如果真结束
.计次循环尾 ()
延迟 (3000)
启动线程 (&isProgressRunning, , ThreadHWND)
.子程序 __启动窗口_创建完毕
启动线程 (&isProgressRunning, , ThreadHWND)
.子程序 __启动窗口_将被销毁
强制结束线程 (ThreadHWND)
附:代码在附件中已经打包。
运行效果:
展开全部
程序运行前判断进程是否存在.
.版本 2
.支持库 eAPI
.程序集 窗口程序集_启动窗口
.子程序 __启动窗口_创建完毕
.判断开始 (进程是否存在 (“你的程序进程”))
信息框 (“程序已打开”, 0, , )
.默认
.判断结束
.子程序 进程是否存在, 逻辑型, 公开, '失败返回0
.参数 进程名, 文本型
.局部变量 进程信息, 进程信息, , "0"
.局部变量 进程数, 整数型
.局部变量 n, 整数型
进程信息 = 取系统进程列表 ()
进程数 = 取数组成员数 (进程信息)
.计次循环首 (进程数, n)
.如果真 (到大写 (进程信息 [n].进程名称) = 到大写 (进程名))
返回 (真)
.如果真结束
.计次循环尾 ()
返回 (假)
.版本 2
.支持库 eAPI
.程序集 窗口程序集_启动窗口
.子程序 __启动窗口_创建完毕
.判断开始 (进程是否存在 (“你的程序进程”))
信息框 (“程序已打开”, 0, , )
.默认
.判断结束
.子程序 进程是否存在, 逻辑型, 公开, '失败返回0
.参数 进程名, 文本型
.局部变量 进程信息, 进程信息, , "0"
.局部变量 进程数, 整数型
.局部变量 n, 整数型
进程信息 = 取系统进程列表 ()
进程数 = 取数组成员数 (进程信息)
.计次循环首 (进程数, n)
.如果真 (到大写 (进程信息 [n].进程名称) = 到大写 (进程名))
返回 (真)
.如果真结束
.计次循环尾 ()
返回 (假)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
.版本 2
.支持库 eAPI
.子程序 __启动窗口_创建完毕
时钟1.时钟周期 = 100
.子程序 子程序_系统进程判断, 逻辑型
.参数 参数_进程名, 文本型
.局部变量 局部_系统进程列表, 进程信息, , "0"
.局部变量 局部_计次, 整数型
局部_系统进程列表 = 取系统进程列表 ()
.计次循环首 (取数组成员数 (局部_系统进程列表), 局部_计次)
.如果真 (局部_系统进程列表 [局部_计次].进程名称 = 参数_进程名)
返回 (真)
.如果真结束
.计次循环尾 ()
返回 (假)
.子程序 _时钟1_周期事件
.如果真 (子程序_系统进程判断 (“e.exe”) = 真)
信息框 (“请关闭非法软件”, 0, )
全局_执行 = 假
.如果真结束
.支持库 eAPI
.子程序 __启动窗口_创建完毕
时钟1.时钟周期 = 100
.子程序 子程序_系统进程判断, 逻辑型
.参数 参数_进程名, 文本型
.局部变量 局部_系统进程列表, 进程信息, , "0"
.局部变量 局部_计次, 整数型
局部_系统进程列表 = 取系统进程列表 ()
.计次循环首 (取数组成员数 (局部_系统进程列表), 局部_计次)
.如果真 (局部_系统进程列表 [局部_计次].进程名称 = 参数_进程名)
返回 (真)
.如果真结束
.计次循环尾 ()
返回 (假)
.子程序 _时钟1_周期事件
.如果真 (子程序_系统进程判断 (“e.exe”) = 真)
信息框 (“请关闭非法软件”, 0, )
全局_执行 = 假
.如果真结束
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
.版本 2
.支持库 eAPI
.支持库 vclbase
.程序集 窗口程序集_启动窗口
.子程序 进程检测, 整数型, , 返回重复数量
.参数 被查进程, 文本型
.局部变量 进程, 进程信息, , "0"
.局部变量 进程数量, 整数型
.局部变量 i, 整数型
.局部变量 重复次数, 整数型
进程 = 取系统进程列表 ()
进程数量 = 取数组成员数 (进程)
.如果真 (进程数量 > 0)
.计次循环首 (进程数量, i)
.如果真 (进程 [i].进程名称 = 被查进程)
重复次数 = 重复次数 + 1
.如果真结束
.计次循环尾 ()
.如果真结束
返回 (重复次数)
.子程序 _按钮1_被单击
输出调试文本 (进程检测 (编辑框1.内容))
.支持库 eAPI
.支持库 vclbase
.程序集 窗口程序集_启动窗口
.子程序 进程检测, 整数型, , 返回重复数量
.参数 被查进程, 文本型
.局部变量 进程, 进程信息, , "0"
.局部变量 进程数量, 整数型
.局部变量 i, 整数型
.局部变量 重复次数, 整数型
进程 = 取系统进程列表 ()
进程数量 = 取数组成员数 (进程)
.如果真 (进程数量 > 0)
.计次循环首 (进程数量, i)
.如果真 (进程 [i].进程名称 = 被查进程)
重复次数 = 重复次数 + 1
.如果真结束
.计次循环尾 ()
.如果真结束
返回 (重复次数)
.子程序 _按钮1_被单击
输出调试文本 (进程检测 (编辑框1.内容))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询