找回密码
 加入
搜索
查看: 4823|回复: 23

请教:如何 遍历多个指定进程 并 结束它 。

 火.. [复制链接]
发表于 2010-1-19 11:24:32 | 显示全部楼层 |阅读模式
本帖最后由 qq83769881 于 2010-1-20 14:27 编辑

请教:如何 遍历多个指定进程 并 结束它 。谢谢
比如有  1.exe  2.exe 3.exe 4.exe

评分

参与人数 1金钱 +10 收起 理由
pusofalse + 10 感谢主动修改帖子分类为[已解决]。

查看全部评分

发表于 2010-1-19 11:32:33 | 显示全部楼层
如果你用记事本每行记录一个exe进程名的话,下面的例子应该能帮到你。

$file = FileOpen("test.txt", 0)
; 检查打开的文件是否可读
If $file = -1 Then
    MsgBox(0, "错误", "不能打开文件.")
    Exit
EndIf
; 每次读取一行文本,直到文件结束.
While 1
    $line = FileReadLine($file)
    If @error = -1 Then ExitLoop
If ProcessExists($line) Then ProcessClose ($line)
Wend
FileClose($file)
发表于 2010-1-19 11:34:22 | 显示全部楼层
关键是看你【多个指定进程】是什么方式得到的,
然后用个循环,加一句
If ProcessExists($进程) Then ProcessClose ($进程)
就能搞定了
 楼主| 发表于 2010-1-19 11:46:33 | 显示全部楼层
谢谢楼上两位。
 楼主| 发表于 2010-1-19 11:49:55 | 显示全部楼层
如果不以TXT 而是 我自己指定几个固定的进程 比如  1.EXE 2.EXE 3.EXE该 怎么写呢,(有时会同时有几个1.EXE,特别是当程序出错的时候 )我比较笨 脑子不太好使 请帮帮忙
发表于 2010-1-19 12:36:40 | 显示全部楼层
本帖最后由 afan 于 2010-1-19 15:42 编辑
Dim $exe[5] = [4, '1.exe', '2.exe', '3.exe', '4.exe']
$PList = ProcessList()
For $i = 1 To $PList[0][0]
        For $x = 1 To $exe[0]
                If $PList[$i][0] = $exe[$x] Then ProcessClose($PList[$i][0])
        Next
Next
 楼主| 发表于 2010-1-19 12:54:09 | 显示全部楼层
谢谢楼上的
发表于 2010-1-19 14:38:54 | 显示全部楼层
谢谢楼上两位。
qq83769881 发表于 2010-1-19 11:46



    那是一位。。
发表于 2010-1-19 14:39:52 | 显示全部楼层
afan 发表于 2010-1-19 12:36



    这个可以解决有多个重名进程的问题。。。
 楼主| 发表于 2010-1-19 15:10:33 | 显示全部楼层
 楼主| 发表于 2010-1-19 15:13:09 | 显示全部楼层
D:\Program Files\auit3\Examples\Helpfile\MsgBox.au3(5,63) : 错误: 表达式错误
                If $PList[$i][0] = $exe[$x] Then ProcessClose $PList
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
D:\Program Files\auit3\Examples\Helpfile\MsgBox.au3(5,76) : 错误: 表达式错误
                If $PList[$i][0] = $exe[$x] Then ProcessClose $PList[$i][0]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
D:\Program Files\auit3\Examples\Helpfile\MsgBox.au3(5,76) : ERROR: multi-line 'If' missing 'Then'.
                If $PList[$i][0] = $exe[$x] Then ProcessClose $PList[$i][0]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^
D:\Program Files\auit3\Examples\Helpfile\MsgBox.au3 - 3 error(s), 0 warning(s)



这是咋回事呢
发表于 2010-1-19 15:33:54 | 显示全部楼层
回复 11# qq83769881


    你的源码是?
 楼主| 发表于 2010-1-19 15:38:28 | 显示全部楼层
就是复制的你的,然后把它换成了我要结束的名字
发表于 2010-1-19 15:43:40 | 显示全部楼层
回复 13# qq83769881


    我的错,忘了括号…… - - ||
改了下
 楼主| 发表于 2010-1-19 15:57:55 | 显示全部楼层
感谢 各位 我的小工作  东拼西拼 完成了三分之一了,多谢各位。
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2025-1-12 09:00 , Processed in 0.082489 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表