Неблокирующий сон в Vbs при ожидании WScript.Shell

Я работаю с VBS1, начиная WScript.Shell, начиная другой VBS2.

VBS1 работает в более широком контексте, и мне нужно, чтобы этот процесс работал и работал, ожидая результата моего VBS2 (около 20-60 секунд)

С помощью Sleep неблокирует в скрипте, но блокирует мой процесс, поэтому мне нужен другой вариант.

Вот код, который я получил до сих пор:

strFinalCommand = "wscript.exe " & CStr(ScriptPath) & " " & CStr(strParams)
Set ObjShell = CreateObject("WScript.Shell")
Set ShellExec = ObjShell.Exec(strFinalCommand)

hitTimeout = False
SleepCounter = 0
Do While ShellExec.Status = 0 'WshRunning
    ActiveSession.Sleep 100   '--> On changing sleep-duration, please change multiplier in IF below, too
    SleepCounter = SleepCounter + 1
    If SleepCounter >= TimeoutDuration * 10 Then 'TimeoutDuration * 2
        hitTimeout = True
        ShellExec.Terminate
        Exit Do
    End If
Loop
Set ShellExec = Nothing
Set ObjShell = Nothing

If hitTimeout = False Then
    ReportSuccess = True
End If

Все работает нормально в отношении этого сценария, но другие действия, выполняющие процесс, заблокированы.

Может кто-нибудь предложить другой Sleepчто неблокирует?

0 ответов

Другие вопросы по тегам