Подскажите, как запустить на VBScript процесс, и получить его код завершения?
Нашел, как запустить процесс и дождаться его завершения при помощи WMI, но не смог найти его ExitCode
' Для Win32 процессов
Sub ExecuteAndWait(CmdLine, CurrDir)
Dim strComputer,objWMIService,ExitFlag,res
strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2:Win32_Process")
intProcessID=""
res=objWMIService.Create(CmdLine, CurrDir, null, intProcessID)
'res=objWMIService.Create("notepad.exe", CurrDir, null, intProcessID)
'WScript.Echo "res=" &res &" intProcessID='" &intProcessID &"'"
If res<>0 Then
WScript.Echo "Error Execute" &CmdLine
Wscript.Echo "Into " &CurrDir
Exit Sub
End If
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colMonitoredProcesses = objWMIService.ExecNotificationQuery _
("Select * From __InstanceDeletionEvent Within 1 Where TargetInstance ISA 'Win32_Process'")
ExitFlag=false
Do Until ExitFlag
Set objLatestProcess = colMonitoredProcesses.NextEvent
If objLatestProcess.TargetInstance.ProcessID = intProcessID Then
ExitFlag = true
'WScript.Echo "ExitCode=" & objLatestProcess.TargetInstance.ExitCode - нет такого свойства :(
End If
Loop
'Wscript.Echo "Process has been terminated."
End Sub
Еще один момент — запускаю из консоли (через cscript), и хотелось бы, чтобы порождаемый процесс (тоже консольный, а именно — компилятор) не порождал собственную консоль.
Т.к. запускаю через WMI, то мою консоль он не берет, т.к. порождается вообще левой прогой (wmiprvse.exe)
Здравствуйте, 2Cobalt, Вы писали:
C>Подскажите, как запустить на VBScript процесс, и получить его код завершения?
C>Нашел, как запустить процесс и дождаться его завершения при помощи WMI, но не смог найти его ExitCode
Run Method (Windows Script Host)
Здравствуйте, PA, Вы писали:
PA>Здравствуйте, 2Cobalt, Вы писали:
C>>Подскажите, как запустить на VBScript процесс, и получить его код завершения?
C>>Нашел, как запустить процесс и дождаться его завершения при помощи WMI, но не смог найти его ExitCode
PA>Run Method (Windows Script Host)
Ой, спасибо, вам, блин, большое

(голосом Масяни)