wangll 发表于 2010-3-31 09:29:24

如何获得进程id

譬如我打开两个qq,那么在qtp中如何识别具体的哪个qq呢?现在想到的是通过进程id,搜了下帮助只看到关闭进程的方法。
请问该如何解决呢?谢谢:)

xiaoyaoke 发表于 2010-3-31 09:35:35

如果是已经开启的,自己找到想要的Pid然后作为参数传给程序

如果是通过程序开启的,一般来说会返回pid值吧?或者通过其它方式在开启的时候获取Pid,留待后用

wangll 发表于 2010-3-31 09:40:21

回复 2# 的帖子

SystemUtil.run "c:\qq.exe","open"
我是这样打开的,能返回pid吗?

xiaoyaoke 发表于 2010-3-31 09:43:15

回复 3# 的帖子

我也不知道啊,自己查下help,如果有最好,如果不可以,就遍历下process list,找到你新加的qq的Pid

wangll 发表于 2010-3-31 10:16:01

好的,谢谢:)

TIB 发表于 2010-4-8 14:13:17

Dim s,objWMIService,colProcessList,objProcess
s = InputBox("进程名:")
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set colProcessList = objWMIService.ExecQuery("Select * from Win32_Process Where Name = '" & s & "'")
For Each objProcess In colProcessList
        Msgbox "ID = " & objProcess.Handle
Next

想问一下找到PID又怎样呢?

用QTP测试多Windows窗口的方法可参考:
http://relevantcodes.com/qtp-working-with-multiple-windows-applications/
页: [1]
查看完整版本: 如何获得进程id