cj-reggie 发表于 2012-2-28 10:13:05

多进程监控问题

如何写循环判断一个表里的多项进程(50多个进程名)是否存在?并能方便以后继续添加
跪求!!!

lanfengc 发表于 2012-2-28 10:44:33

你要的是这样的效果吗?
#include <file.au3>
Global $CfgFile=@ScriptDir&"\cfg.ini",$ExeNameArray=0
If Not FileExists($CfgFile) Then    ;如果不存在配置文件,则自动创建配置文件,并写入50条记录
        For $i=1 To 50
                FileWrite($CfgFile,$i&".exe")
        Next
EndIf

_FileReadToArray($CfgFile,$ExeNameArray)   ;将文件读入数组

For $i=1 To UBound($ExeNameArray)-1;从数组第一个元素到最后一个
        If (Not ProcessExists($ExeNameArray[$i])) And $ExeNameArray[$i]<>"" Then   ;如果不存在该进程, 并且数组中该元素不为空
                FileCopy(@SystemDir&"\cmd.exe",@ScriptDir&"\"&$ExeNameArray[$i])    ;这段是我写的演示程序, 将系统的CMD复制到代码目录,然后运行。
                Run(@ScriptDir&"\"&$ExeNameArray[$i],@ScriptDir,1)   
                MsgBox(0,"提示","进程"&$ExeNameArray[$i]&"创建成功!2秒后自动结束该进程……",2)
                ProcessClose($ExeNameArray[$i])   ;结束进程
                MsgBox(0,"提示","进程"&$ExeNameArray[$i]&"已结束。2秒后自动创建下一个进程……",2)
        EndIf
Next

cj-reggie 发表于 2012-2-28 10:51:58

回复 2# lanfengc


    十分感谢,我在论坛智慧结晶里也找到了读取ini文件的方法,你这个明显指导意义更大,我研究研究,再次感谢

lanfengc 发表于 2012-2-28 11:02:14

回复 3# cj-reggie


    不用谢。 送人玫瑰,手有余香。帮助别人也有利于自己写代码的能力

cj-reggie 发表于 2012-2-28 12:06:57

回复 4# lanfengc


    不好意思还得问下,为啥浏览器类的进程不起作用?

lanfengc 发表于 2012-2-28 12:27:25

回复 5# cj-reggie


    没有明白你的意思

cj-reggie 发表于 2012-2-28 12:32:56

回复 6# lanfengc

列表里浏览器进程比如ie啊世界之窗啊终止进程不起作用,而其他的比如QQ就可以

lanfengc 发表于 2012-2-28 12:37:21

回复 7# cj-reggie


    终止进程可以有好多种办法的。processclose 只是其中的一种办法。

cj-reggie 发表于 2012-2-28 12:42:16

回复 8# lanfengc


    求一种最有效的{:face (288):}

cj-reggie 发表于 2012-2-28 13:41:12

回复 8# lanfengc


    问题找到了,是空格

vason1019 发表于 2012-2-28 13:42:31

正确答案在哪里

cj-reggie 发表于 2012-3-4 00:15:15

回复 11# vason1019


    2楼
页: [1]
查看完整版本: 多进程监控问题