51Testing软件测试论坛

标题: 获取进程名称 [打印本页]

作者: lijinshui    时间: 2009-7-8 15:16
标题: 获取进程名称
有没有一个简单的方法可以在Task列表中获取进程名称,比如说 NOTEPAD
等等
作者: hsjzfling    时间: 2009-7-8 16:06
你希望通过什么来确定你想要的进程名?还是需要列举出运行中所有的进程名称?VBS一般可以通过WMI来实现。
作者: lijinshui    时间: 2009-7-8 16:31
对不起,可能是我没有描述清楚
现在有一个方法就是通过列举出运行中所有的进程名,然后一个一个判断,如果一致的话,就将其最大化,没有的话就启动一个新的.
我不满意现在的做法,想知道有没有直接可以判断一个已知的可执行文件名是否在Task Manager里面
作者: dreamever    时间: 2009-7-8 16:33
tasklist命令,可以获取当前系统所有正在运行的进程名称列表
作者: lijinshui    时间: 2009-7-8 16:52
最好给个简单的小列子,或者再稍微详细一点就好了
作者: shanxi    时间: 2009-7-8 16:59
标题: 借用WMI
http://www.itestware.com/ctest/i ... esting_is_believing

http://tester2test.blog.51cto.com/461899/158085
作者: fei.ge    时间: 2009-7-8 17:37
学习shanxi发的帖子。

通过WMI获取进程的名字:
strComputer = "."
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
       
Set colProcess = objWMIService.ExecQuery ("Select * from Win32_Process")
For Each objProcess  in colProcess
        print objProcess.Caption
Next
作者: lijinshui    时间: 2009-7-8 17:44
标题: fei.ge
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
这句话过不去 , 版主fei.ge 你试过吗 ?
作者: fei.ge    时间: 2009-7-8 23:29
标题: 回复 8# 的帖子
是的,试过了才发的。

你过不去,提示什么信息
作者: lijinshui    时间: 2009-7-9 08:30
好象是报告了语法错误
Set objWMIService = GetObject("winmgmts: {impersonationLevel=impersonate}!\\ .\root\cimv2")
作者: fei.ge    时间: 2009-7-9 09:48
原帖由 lijinshui 于 2009-7-9 08:30 发表
好象是报告了语法错误
Set objWMIService = GetObject("winmgmts: {impersonationLevel=impersonate}!\\ .\root\cimv2")


仔细点,冒号跟大括号中间多了一个空格。

Set objWMIService = GetObject("winmgmts: {impersonationLevel=impersonate}!\\ .\root\cimv2")
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
作者: liujinkui    时间: 2009-7-9 10:31
我这没有问题。感谢。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2