semiono
21-02-2009, 19:09
Не могу понять вроде бы простую вещь, сначало я зделал так
ControlFocus("Select Destination Directory","","Edit1")
Sleep(100)
Send($VST & "\ChrisHeinBass")
ControlClick("Select Destination Directory","","Button1","left",1,37,11)
Sleep(100)
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If WinExists("Install") Then
ControlClick("Install","","Button1","left",1,37,11)
; это окно реагирует на то, что целевая директория существует,
; с тупым вопросом - Are You Sure? Yes/No...
; В другом случае окно Install даже не появляется!
Sleep(100)
EndIf
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ControlClick("Choose Destination Location","","Button1","left",1,37,11)
Sleep(100)
Теперь у меня при разных ситуациях, при появлении окна Install и без него стал получаться баг.
Я начал думать в чём тут дело, и как мне показалось, что в блок If надо включить альтернативный ход
ControlFocus("Select Destination Directory","","Edit1")
Sleep(100)
Send($VST & "\ChrisHeinBass")
ControlClick("Select Destination Directory","","Button1","left",1,37,11)
Sleep(100)
If WinExists("Install") Then
ControlClick("Install","","Button1","left",1,37,11)
Sleep(100)
Else ; вот так!
ControlClick("Choose Destination Location","","Button1","left",1,37,11)
Sleep(100)
EndIf
Потом я подумал что если If не задействован в различных проходах, то наверное нехватает тогда снова следущего шага
ControlFocus("Select Destination Directory","","Edit1")
Sleep(100)
Send($VST & "\ChrisHeinBass")
ControlClick("Select Destination Directory","","Button1","left",1,37,11)
Sleep(100)
If WinExists("Install") Then
ControlClick("Install","","Button1","left",1,37,11)
Sleep(100)
Else
ControlClick("Choose Destination Location","","Button1","left",1,37,11)
Sleep(100)
EndIf
; добавил как и было
ControlClick("Choose Destination Location","","Button1","left",1,37,11)
Sleep(100)
Ни один вариант не получился универсальным! В чём тут проблема-то! :(
И как бы некогда зависать над этим, дело всё остальное ждёт.
ЗЫ Давайте тут поговорим об защите от всяких случайных pop-up windows, чтоб найти способы борьбы :)
ControlFocus("Select Destination Directory","","Edit1")
Sleep(100)
Send($VST & "\ChrisHeinBass")
ControlClick("Select Destination Directory","","Button1","left",1,37,11)
Sleep(100)
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
If WinExists("Install") Then
ControlClick("Install","","Button1","left",1,37,11)
; это окно реагирует на то, что целевая директория существует,
; с тупым вопросом - Are You Sure? Yes/No...
; В другом случае окно Install даже не появляется!
Sleep(100)
EndIf
; ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ControlClick("Choose Destination Location","","Button1","left",1,37,11)
Sleep(100)
Теперь у меня при разных ситуациях, при появлении окна Install и без него стал получаться баг.
Я начал думать в чём тут дело, и как мне показалось, что в блок If надо включить альтернативный ход
ControlFocus("Select Destination Directory","","Edit1")
Sleep(100)
Send($VST & "\ChrisHeinBass")
ControlClick("Select Destination Directory","","Button1","left",1,37,11)
Sleep(100)
If WinExists("Install") Then
ControlClick("Install","","Button1","left",1,37,11)
Sleep(100)
Else ; вот так!
ControlClick("Choose Destination Location","","Button1","left",1,37,11)
Sleep(100)
EndIf
Потом я подумал что если If не задействован в различных проходах, то наверное нехватает тогда снова следущего шага
ControlFocus("Select Destination Directory","","Edit1")
Sleep(100)
Send($VST & "\ChrisHeinBass")
ControlClick("Select Destination Directory","","Button1","left",1,37,11)
Sleep(100)
If WinExists("Install") Then
ControlClick("Install","","Button1","left",1,37,11)
Sleep(100)
Else
ControlClick("Choose Destination Location","","Button1","left",1,37,11)
Sleep(100)
EndIf
; добавил как и было
ControlClick("Choose Destination Location","","Button1","left",1,37,11)
Sleep(100)
Ни один вариант не получился универсальным! В чём тут проблема-то! :(
И как бы некогда зависать над этим, дело всё остальное ждёт.
ЗЫ Давайте тут поговорим об защите от всяких случайных pop-up windows, чтоб найти способы борьбы :)