'
' Usage: WScript.Echo GetScriptProcessID()
'
Function GetScriptProcessID()
Dim objWshShell
Dim objWshScriptExec
Dim objSWbemObjectEx_ChildProcess
Dim strPath
strPath = """mshta.exe"" " & """
"""
Set objWshShell = WScript.CreateObject("WScript.Shell")
Set objWshScriptExec = objWshShell.Exec(strPath)
Set objSWbemObjectEx_ChildProcess = GetObject("winmgmts:\\.\root\CIMV2:Win32_Process.Handle='" & CStr(objWshScriptExec.ProcessID) &"'")
GetScriptProcessID = objSWbemObjectEx_ChildProcess.ParentProcessID
objWshScriptExec.Terminate
Set objSWbemObjectEx_ChildProcess = Nothing
Set objWshScriptExec = Nothing
Set objWshShell = Nothing
End Function