qinyi75 发表于 2011-4-8 14:14:55

用vb如何已知进程名找到该进程的pid?

比如说,我们都知道,QQ的进程名,那么,如何根据这个已知条件,得到程序的进程pid呢?请高手指点一二,谢谢!

最好给出代码?

逍遥的男孩 发表于 2011-4-8 14:15:08

Private Sub Command1_Click()
    Dim i As Long
    Dim proc As PROCESSENTRY32
    Dim snap As Long
    Dim exename As String
    Dim theloop As Long
    Dim ret As ListItem
    Dim n%
    ListView1.ListItems.Clear '清空所有内容
    snap = CreateToolhelpSnapshot(TH32CS_SNAPall, 0) '获得进程“快照”的句柄
    proc.dwSize = Len(proc)
    theloop = ProcessFirst(snap, proc) '获取第一个进程,并得到其返回值
    i = 0
    While theloop <> 0 '当返回值非零时继续获取下一个进程
      exename = proc.szExeFile
      exeto(i) = exename
      idto(i) = proc.th32ProcessID
      Set ret = ListView1.ListItems.Add(, "first" & CStr(i), exename) '将进程名添加到第一项中
      ListView1.ListItems("first" & CStr(i)).SubItems(1) = proc.th32ProcessID '将进程ID添加到第二项中
      i = i + 1
      theloop = ProcessNext(snap, proc)
    Wend
    CloseHandle snap '关闭进程“快照”句柄
End Sub

看看这个是不是你要的。

qinyi75 发表于 2011-4-8 14:15:18

谢谢你,解决了
页: [1]
查看完整版本: 用vb如何已知进程名找到该进程的pid?