Что нового

Как вернуться к проверке условия

alex1912

Новичок
Сообщения
24
Репутация
0
Добрый день. Подскажите пожалуйста как с помощью msgbox можно вернуться на строку 7?
Код:
#RequireAdmin
AutoItSetOption('MouseCoordMode', 0)
BlockInput(1) ;блокировка клавиаутуры и мышки
ShellExecute( "Soft1")
WinWaitActive("Soft1 menu")
Send("{ENTER}")
$hWnd = WinWaitActive("Soft1 Nickname:", "", 7) ;если пароль не сохранился, то if
If Not $hWnd Then
    BlockInput (0)
	$msg1 = MsgBox(1, 'Ошибка пароля', 'Ввели пароль?')
If $msg1 = 1 Then ;как вернуться к строке 7
If $msg1 = 2 Then Exit
EndIf
Run(@ScriptDir & "\Soft2.exe") ; если пароль ввели скрипт продолжается
 

hedji

Продвинутый
Сообщения
409
Репутация
94
Код:
#RequireAdmin
AutoItSetOption('MouseCoordMode', 0)
BlockInput(1) ;блокировка клавиаутуры и мышки
ShellExecute( "Soft1")
WinWaitActive("Soft1 menu")
Send("{ENTER}")
$hWnd = WinWaitActive("Soft1 Nickname:", "", 7) ;если пароль не сохранился, то заход в цикл
While $hWnd = 0
	$msg1 = MsgBox(1, 'Ошибка пароля', 'Ввели пароль?')
	If $msg1 = 1 Then 
		$hWnd = WinWaitActive("Soft1 Nickname:", "", 7)
	ElseIf $msg1 = 2 Then Exit
	EndIf	
WEnd
Run(@ScriptDir & "\Soft2.exe") ; если пароль ввели скрипт продолжается
 
Автор
A

alex1912

Новичок
Сообщения
24
Репутация
0
Большое спасибо все заработало! Единственное вы убрали blockinput (1). Поэтому невозможно ни ввести пароль, ни нажать кнопку msgbox)
Получается вот так надо:

Код:
#RequireAdmin
AutoItSetOption('MouseCoordMode', 0)
BlockInput(1) ;блокировка клавиаутуры и мышки
ShellExecute( "Soft1")
WinWaitActive("Soft1 menu")
Send("{ENTER}")
$hWnd = WinWaitActive("Soft1 Nickname:", "", 7) ;если пароль не сохранился, то заход в цикл
While $hWnd = 0
BlockInput (0)
    $msg1 = MsgBox(1, 'Ошибка пароля', 'Ввели пароль?')
    If $msg1 = 1 Then 
        $hWnd = WinWaitActive("Soft1 Nickname:", "", 7)
        BlockInput (1)
    ElseIf $msg1 = 2 Then Exit
    EndIf   
WEnd
Run(@ScriptDir & "\Soft2.exe") ; если пароль ввели скрипт продолжается
 
Верх