我是vbs中的绝对菜鸟CSV文件。
Set Word = CreateObject("Word.Application")
Dim fso
Set fso = WScript.CreateObject("Scripting.Filesystemobject")
Set f = fso.CreateTextFile("output.csv", 2)
Set Tasks = Word.Tasks
For Each obj in Tasks
PID = obj.ProcessID
If obj.Visible Then f.Writeline obj.Name & "," & PID
Next
Word.Quit
我的目的是,获取所有应用程序的列表,并在阅读名称后决定要终止并使用其流程ID杀死它(您是从CSV文件中获得的)。
它能够正确输出名称,但是,如果我尝试输出ProcessID,我会继续得到这个:
对象不支持此属性或方法:
'obj.processid'
代码:800A02B6
在线没有太多帮助,我看到的大多数示例都使用X.Processid查找ProcessID。
有人可以告诉我为什么它在上述代码中不起作用。
谢谢。
如有疑问,请阅读文档。Task
对象没有属性ProcessID
。更好地使用WMI来枚举流程:
Set wmi = GetObject("winmgmts://./root/cimv2")
For Each p In wmi.ExecQuery("SELECT * FROM Win32_Process")
WScript.Echo p.ProcessId
Next