如何获取正在运行的进程的程序名称和任务 ID。shell()返回已启动进程的任务 ID。类似地,我想获取已经在运行且不是由宏创建的进程的任务 ID 和名称。我找到了返回程序名称但其输出缺少任务 ID 信息的代码:
http://www.vbaexpress.com/forum/archive/index.php/t-36677.html
Sub Test_AllRunningApps()
Dim apps() As Variant
apps() = AllRunningApps
Range("A1").Resize(UBound(apps), 1).Value2 = WorksheetFunction.Transpose(apps)
Range("A:A").Columns.AutoFit
End Sub
'Similar to: http://msdn.microsoft.com/en-us/library/aa393618%28VS.85%29.aspx
Public Function AllRunningApps() As Variant
Dim strComputer As String
Dim objServices As Object, objProcessSet As Object, Process As Object
Dim oDic As Object, a() As Variant
Set oDic = CreateObject("Scripting.Dictionary")
strComputer = "."
Set objServices = GetObject("winmgmts:\\" _
& strComputer & "\root\CIMV2")
Set objProcessSet = objServices.ExecQuery _
("SELECT Name FROM Win32_Process", …Run Code Online (Sandbox Code Playgroud) vba ×1