我正在尝试检索特定位置中所有软件实例的 PID。它是一个便携式应用程序,因此系统中可能有多个副本,但我只对一个特定位置感兴趣。此外,它可以由不同的用户、管理员以及标准用户同时启动。
我复制了这个 VBS 代码(来自http://msdn.microsoft.com/en-us/library/windows/desktop/aa394372%28v=vs.85%29.aspx)
strComputer = "."
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colProcesses = objWMIService.ExecQuery("SELECT * FROM Win32_Process WHERE Name = 'foobar.exe'")
For Each objProcess in colProcesses
If objProcess.GetOwner(User, Domain) = 0 Then
WScript.Echo "Process " & objProcess.Name & " belongs to " & Domain & "\" & User
Else
WScript.Echo "Problem " & Rtn & " getting the owner for process " & objProcess.Caption
End If
Next
我现在需要区分应用程序的完整路径。如果我使用(第 5 行),我只能看到当前用户objProcess.ExecutablePath
启动的实例的完整路径,而使用(第 3 行)会出现某种语法错误。Where ExecutablePath
有什么帮助吗?