我想查看在我的计算机上运行的所有进程,但cmd命令只给出应用程序,而不是任何脚本或较小的文件。我正在试图找出一种以更高级的方式列出所有进程,以列出当前正在运行的所有进程。有没有人知道用VBScript做这件事的方法?或者如果有更好的方法来做到这一点,它是什么?使用vbscript查看正在运行的进程
0
A
回答
2
使用TaskList
命令
TaskList
命令可用于显示所有正在运行的应用程序和服务的细节和进程ID(PID)的列表。
Dim ProTFPath, ProTF, StrPrInfo, StrPrInfoA, PrInfo
Set WshShell = WScript.CreateObject("Wscript.Shell")
Set FSO = WScript.CreateObject("Scripting.FileSystemObject")
ProTFPath = "C:\PROCESSES.txt"
WshShell.Run "CMD /C TASKLIST /V /FO LIST > """ + ProTFPath + """", 0, True
' Here Run is used instead Exec to avoid console window flashes.
If FSO.FileExists(ProTFPath) Then
Set ProTF = FSO.OpenTextFile(ProTFPath, 1, False)
End If
StrPrInfoA = ProTF.ReadAll
PrInfo = Split(StrPrInfoA, VbCrLf + VbCrLf)
For I = 0 To UBound(PrInfo)
WScript.Echo PrInfo(I)
Next
Erase PrInfo
ProTF.Close
如果你不再需要这个文件,添加以下行到脚本的末尾:
If FSO.FileExists(ProTFPath) Then
FSO.DeleteFile(ProTFPath, True)
End If
查看更多有关TaskList
here.
+1
我会用wmi。不知道任务列表命令。谢谢,我今天学到了一件新事物。 :) – Gurman
0
EXE_Process = AllProcessRunningEXE(".")
Vbs_Process = AllProcessRunningVBS (".")
Function AllProcessRunningEXE(strComputerArg)
strProcessArr = ""
Dim Process, strObject
strObject = "winmgmts://" & strComputerArg
For Each Process in GetObject(strObject).InstancesOf("win32_process")
strProcessArr = strProcessArr & ";" & vbNewLine & Process.name
Next
AllProcessRunningEXE = Mid(strProcessArr,3,Len(strProcessArr))
End Function
Function AllProcessRunningVBS (strComputerArg)
strProcessArr = ""
Set objWMIService = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & strComputerArg & "\root\cimv2")
Set colItems = objWMIService.ExecQuery ("Select * from Win32_Process Where Name = 'cscript.exe' OR Name = 'wscript.exe'")
For Each objItem in colItems
strProcessArr = strProcessArr & ";" & vbNewLine & objItem.CommandLine
Next
AllProcessRunningVBS = Mid(strProcessArr,3,Len(strProcessArr))
Set objWMIService = Nothing
Set colItems = Nothing
End Function
相关问题
- 1. 在Xamarin Studio中查看进程的正在运行的线程
- 2. 查看正在运行的进程的Windows激活上下文?
- 3. 检查进程是否正在运行(使用进程名称)
- 4. 检查正在运行的进程 - java
- 5. 如何查看gradle守护进程是否正在运行?
- 6. 测试以查看Gearman守护进程是否正在运行
- 7. VBscript检查在多台计算机上运行的进程
- 8. 如何检查正在运行的进程以查看它正在使用的共享库?
- 9. 使用python检查正在运行的python进程
- 10. 检查进程是否正在运行
- 11. 检查进程是否正在运行
- 12. 在远程服务器上查看正在运行的java进程
- 13. 正在运行的进程
- 14. VB.Net - 使用'以管理员身份运行'进程执行vbscript
- 15. Java运行进程:在任意进程运行时查看字节代码
- 16. 如何查看aix上正在运行的进程的所有线程堆栈?
- 17. 在Solaris 10上检查正在运行的进程正在使用的堆
- 18. 使用vbscript查杀特定进程
- 19. 通过使用PID检查进程是否正在运行
- 20. Ecplise查看正在运行的程序的流程
- 21. 正在使用GetProcessesByName检查进程是否正在运行的最佳方法?
- 22. 在linux中查看已经运行的进程的输出
- 23. 查看SQL Server 2000进程是否正在运行的最佳方法?
- 24. 如何确保正在运行的进程正在运行?
- 25. 在IIS应用程序下运行vbscript
- 26. 如何查看我的Java进程正在执行的操作?
- 27. 查看当前正在运行的程序的参数值?
- 28. Node.JS:查看为什么进程仍在运行的工具?
- 29. 如何查看iPhone上所有正在运行的线程
- 30. 如何获取Oracle,查看正在运行的程序?
请解释一下你是什么意思通过*“不是任何脚本或更小的文件”*。你的意思是文本文件? – GTAVLover