Collections 从VBScript访问WMI集合对象时不带“0”;对于每一个“;列举

Collections 从VBScript访问WMI集合对象时不带“0”;对于每一个“;列举,collections,vbscript,wmi,win32-process,Collections,Vbscript,Wmi,Win32 Process,我有这段代码,但我不知道传递给Item方法的参数是什么: Dim oWMISrvc, oProcCol Set oWMISrvc = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2") Set oProcCol = oWMISrvc.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'wscript.exe'") If oProcCol.Count Th

我有这段代码,但我不知道传递给Item方法的参数是什么:

Dim oWMISrvc, oProcCol

Set oWMISrvc = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
Set oProcCol = oWMISrvc.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'wscript.exe'")
If oProcCol.Count Then WScript.Echo oProcCol.Item(?).CommandLine
我想查询ExecQuery返回的集合中的第一个Win32_进程项。我知道可以通过“For Each”枚举完成,但我正在寻找一种直接访问它的方法

注意:我查询“wscript.exe”只是为了测试,所以我实际上并没有试图检索我正在运行的脚本的命令行,而是为了一个外部可执行文件。 谢谢。

找到了我的答案。因此,这似乎是可行的,但在XP或旧版本的Windows上不可行:


如果oProcCol.Count,那么WScript.Echo oProcCol.ItemIndex(0)命令行

谢谢Helen,我在您指向的线程中找到了一个令人满意的答案。一定是我找不到的。。。