Запуск приложения на VBScript (WSHost), ExitCode
От: 2Cobalt  
Дата: 25.04.08 14:40
Оценка:
Подскажите, как запустить на 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)
Re: Запуск приложения на VBScript (WSHost), ExitCode
От: PA  
Дата: 26.04.08 09:41
Оценка: +1
Здравствуйте, 2Cobalt, Вы писали:

C>Подскажите, как запустить на VBScript процесс, и получить его код завершения?

C>Нашел, как запустить процесс и дождаться его завершения при помощи WMI, но не смог найти его ExitCode

Run Method (Windows Script Host)
Re[2]: Запуск приложения на VBScript (WSHost), ExitCode
От: Аноним  
Дата: 27.04.08 08:03
Оценка:
Здравствуйте, PA, Вы писали:

PA>Здравствуйте, 2Cobalt, Вы писали:


C>>Подскажите, как запустить на VBScript процесс, и получить его код завершения?

C>>Нашел, как запустить процесс и дождаться его завершения при помощи WMI, но не смог найти его ExitCode

PA>Run Method (Windows Script Host)


Ой, спасибо, вам, блин, большое (голосом Масяни)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.