VB6 - 如何列出与用户名相关的 PID
VB6 - How to list PIDs related to Usernames
我对 VB6 和 VB Studio 还是很陌生。
我想获取所有进程 ID 和与这些 ID 关联的用户名的列表
我没有使用表单,因为不需要 GUI,但出于测试目的,我想将列表输出到 msgbox 或记事本文件。
这是我目前得到的,但 运行 在 VB Studio 中没有。它确实可以作为 VBS,但不会保存为错误 "Invalid Outside Procedure"
的 exe
Option Explicit
Dim objWMIService, objProcess, colProcess
Dim strComputer, strList
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\" _
& strComputer & "\root\cimv2")
Set colProcess = objWMIService.ExecQuery _
("Select * from Win32_Process")
For Each objProcess in colProcess
strList = strList & vbCr & _
objProcess.Name
Next
WSCript.Echo strList
WScript.Quit
感谢任何帮助
向您的项目添加一个模块并使用下面的代码。它将数据写出到临时文件夹中的文本文件。从“项目”>“属性”菜单确保 "Startup Object" 为 Sub Main
。
Option Explicit
Dim objWMIService As Object
Dim objProcess As Object
Dim colProcess As Object
Dim strComputer As String
Dim strUserName
Dim strUserDomain
Sub Main()
On Error GoTo eh
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\" _
& strComputer & "\root\cimv2")
Set colProcess = objWMIService.ExecQuery("Select * from Win32_Process")
Open "c:\temp\test.txt" For Output As #1
For Each objProcess In colProcess
objProcess.GetOwner strUserName, strUserDomain
Print #1, objProcess.Name & vbTab & strUserName
Next
Close #1
MsgBox ("Done")
Exit Sub
eh:
MsgBox (Error$)
End Sub
我对 VB6 和 VB Studio 还是很陌生。
我想获取所有进程 ID 和与这些 ID 关联的用户名的列表
我没有使用表单,因为不需要 GUI,但出于测试目的,我想将列表输出到 msgbox 或记事本文件。
这是我目前得到的,但 运行 在 VB Studio 中没有。它确实可以作为 VBS,但不会保存为错误 "Invalid Outside Procedure"
的 exeOption Explicit
Dim objWMIService, objProcess, colProcess
Dim strComputer, strList
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\" _
& strComputer & "\root\cimv2")
Set colProcess = objWMIService.ExecQuery _
("Select * from Win32_Process")
For Each objProcess in colProcess
strList = strList & vbCr & _
objProcess.Name
Next
WSCript.Echo strList
WScript.Quit
感谢任何帮助
向您的项目添加一个模块并使用下面的代码。它将数据写出到临时文件夹中的文本文件。从“项目”>“属性”菜单确保 "Startup Object" 为 Sub Main
。
Option Explicit
Dim objWMIService As Object
Dim objProcess As Object
Dim colProcess As Object
Dim strComputer As String
Dim strUserName
Dim strUserDomain
Sub Main()
On Error GoTo eh
strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
& "{impersonationLevel=impersonate}!\" _
& strComputer & "\root\cimv2")
Set colProcess = objWMIService.ExecQuery("Select * from Win32_Process")
Open "c:\temp\test.txt" For Output As #1
For Each objProcess In colProcess
objProcess.GetOwner strUserName, strUserDomain
Print #1, objProcess.Name & vbTab & strUserName
Next
Close #1
MsgBox ("Done")
Exit Sub
eh:
MsgBox (Error$)
End Sub