返回列表 发帖

[问题求助] 如何获取当前VBS执行的进程号

如何在代码中获取当前VBS代码执行的进程号。

回复 1# watson


1.vbs
Set objShell = CreateObject("WScript.Shell")
Set objScriptExec = objShell.Exec("tasklist /v /fo csv /fi ""IMAGENAME eq wscript.exe""")
strScriptPID = objScriptExec.StdOut.ReadAll
Set objRegEx = CreateObject("VBScript.RegExp")
objRegEx.Global = True
objRegEx.Pattern = "(\d+)"
Set colMatches = objRegEx.Execute(strScriptPID)
MsgBox strScriptPID
If colMatches.Count > 0 Then
    MsgBox colMatches(0).SubMatches(0)
End IfCOPY
测试代码之前请做好备份

TOP

回复 1# watson


2.vbs
Set oShell = CreateObject("WScript.Shell")
Set oWMI = GetObject("winmgmts:{impersonationLevel=impersonate}!\\.\root\cimv2")
sCmd = "/k " & Left(CreateObject("Scriptlet.TypeLib").Guid, 38)
oShell.Run "%comspec% " & sCmd, 0
Set oChldPrcs = oWMI.ExecQuery("Select * From Win32_Process Where CommandLine Like '%" & sCmd & "'",,32)
For Each oCols In oChldPrcs
    lOut = oCols.ParentProcessId
    oCols.Terminate
    Exit For
Next
MsgBox lOutCOPY
测试代码之前请做好备份

TOP

返回列表