Всем привет! Не могу перезапустить программу при ошибке. Лог программы выводится в консоле. При выводе слова Error, необходимо перезапустить программу. Пробовал скрипты наподобии:
Но ничего не получается. Следом за ним возникла другая проблема, программа запускается с выбранными параметрами. Есть ли возможность перезапустить программу с последними заданными ключами ?? Пример запуска:
Код:
While 1
$hWnd = WinWait('Logs')
If StringInStr(ControlGetText($hWnd, '', '[CLASSNN:ConsoleWindowClass]'), 'Error') Then
$PID = ProcessExists("program.exe")
ProcessClose($PID)
Run (@ScriptDir & '\program.exe')
EndIf
Sleep(100)
WEnd
Но ничего не получается. Следом за ним возникла другая проблема, программа запускается с выбранными параметрами. Есть ли возможность перезапустить программу с последними заданными ключами ?? Пример запуска:
Код:
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
$Program = GUICtrlRead($Combo3)
$Key1 = GUICtrlRead($Combo1)
$Key2 = GUICtrlRead($Combo2)
$Key3 = GUICtrlRead($Combo4)
RunKey($Program, $Key1, $Key2, $Key3)
EndSwitch
WEnd
Func RunKey($Program, $Key1, $Key2, $Key3)
Switch $Program
Case $NameConcole1
$Program = (@ScriptDir & '\program.exe')
If $Key1 = $Name1 Then $Key11 = " +Значение 1"
If $Key1 = $Name2 Then $Key11 = " +Значение 3"
If $Key1 = $Name4 Then $Key11 = " +Значение 4"
If $Key1 = $Name5 Then $Key11 = " +Значение 5"
If $Key1 = $Name6 Then $Key11 = " +Значение 6"
If $Key1 = $Name7 Then $Key11 = " +Значение 7"
If $Key2 = $NameA1 Then $Key22 = " +Значение A1"
If $Key2 = $NameA2 Then $Key22 = " +Значение A2"
If $Key3 = $NameB1 Then $Key33 = " +Значение B1"
If $Key3 = $NameB2 Then $Key33 = " +Значение B2"
EndSwitch
Run($Program&" "&$Key11&" "&$Key22&" "&$Key33)
EndFunc