yang3114 发表于 2011-7-15 19:31:17

如何分别获取多个相同进程的PID标识[已解决]

本帖最后由 yang3114 于 2011-7-16 09:29 编辑

比如我同时启动了3个QQ,如果分别获取这3个QQ.exe的PID

netegg 发表于 2011-7-15 20:04:12

本帖最后由 netegg 于 2011-7-15 20:13 编辑

#include<array.au3>
Dim $list = ProcessList(), $j = 0
$aPro = _ArrayFindAll($list, 'qq', 0, 0, 0, 1, 0)
Dim $aRet
For $i In $aPro
        $aRet[$j] = $list[$i]
        $aRet[$j] = $list[$i]
        $j += 1
Next
_ArrayDisplay($aRet, ' ')

yang3114 发表于 2011-7-15 20:38:15

多谢楼上的老大。能不能把它改成用msgbox一个一个的显示出来。不让它一起显示出来。

netegg 发表于 2011-7-15 20:50:57

本帖最后由 netegg 于 2011-7-15 20:52 编辑

#include<array.au3>
Dim $list = ProcessList()
$aPro = _ArrayFindAll($list, 'qq', 0, 0, 0, 1, 0)
For $i In $aPro
msgbox(0, $aPro[$i], $aPro[$i])
Next

user3000 发表于 2011-7-16 00:04:22

多谢楼上的老大。能不能把它改成用msgbox一个一个的显示出来。不让它一起显示出来。
yang3114 发表于 2011-7-15 20:38 http://www.autoitx.com/images/common/back.gif


    汗,基础有点太差了吧,竟然不知道操作数组,感觉是:老大,能不能喂我饭?

yang3114 发表于 2011-7-16 08:12:29


netegg 发表于 2011-7-15 20:50 http://www.autoitx.com/images/common/back.gif


    老大,不好意思再打扰一下。你这个运行的时候出现错误。

daiyu116 发表于 2011-7-16 09:27:15

本帖最后由 daiyu116 于 2011-7-16 09:59 编辑

要学会看帮助和举一反三

#include<array.au3>
Global $str="qq"
         ;返回所有进程的名称和PID,并放入$list数组中
Dim $list = ProcessList()
         ;在$list数组中查找到包含$str关键字的数组元素
$aPro = _ArrayFindAll($list,$str, 0, $list, 0, 1, 0)
If @error Then
      MsgBox(0,"提示","未找到包含"&$str&"的进程!")
      Exit
EndIf
      ;枚举
For $i In $aPro
      msgbox(0, "信息","进程名称是"&$list[$i]&",对应pid是"&$list[$i])
Next

yang3114 发表于 2011-7-16 09:29:06

{:face (356):}多谢楼上的。非常感谢!

daiyu116 发表于 2011-7-16 10:11:41

本帖最后由 daiyu116 于 2011-7-16 10:20 编辑

回复 7# daiyu116
回复 8# yang3114
7楼的代码是返回包含指定关键字的进程信息
如果,进程名称非常确定,用下面的代码更简洁一些,用svchost.exe进程作例

#include<array.au3>
Global $str="svchost.exe"
Dim $list = ProcessList($str)
If @error Then
      MsgBox(0,"提示","未找到命名为"&$str&"的进程!")
      Exit
EndIf
For $i=1 To $list
       msgbox(0, "信息","进程名称是"&$list[$i]&",对应pid是"&$list[$i])
Next

因为你的问题里,已经确定是查找所有名为qq.exe的进程的PID,所以建议你用本楼的方法。

huangke 发表于 2011-7-18 18:23:02

楼上的方法好
页: [1]
查看完整版本: 如何分别获取多个相同进程的PID标识[已解决]