Autoit3 - Как разветвлять, если окно появляется?
-
20-09-2019 - |
Вопрос
Я пытаюсь написать сценарий Autoit3, чтобы пройти мастер, чтобы настроить программу. В какой -то момент, в зависимости от того, что уже было установлено на машине, это может или не может появиться в другом диалоге, в котором говорится что -то вроде «Это уже существует ... что бы вы хотели сделать?». Затем я бы сделал сценарий, обрабатывающий этот диалог, а затем продолжил.
Проблема в том, что я не могу понять, как сделать это на чем -то если Он появляется без двух отдельных сценариев автоматических сценариев: один, чтобы сделать основную настройку мастера, и один для наблюдения за возможным всплывающим окном.
Какие-либо предложения?
Решение
Если вы знаете, где в настройке появляется диалог, вы можете попробовать это: после того, как вы перейдете по волшебнику до этого момента, Винвейт для диалога. Если Винвейт возвращается без успеха, диалог, вероятно, не появился.
Другие советы
Если вы не знаете, когда это произойдет (что -то, что может появиться в любое время), вы могли бы попробовать это:
AdlibEnable("myadlib")
Func myadlib()
If WinActive("Error") Then
;...
EndIf
EndFunc
Из файла справки:
Adlibenable
Включает функциональность ADLIB.
AdlibEnable ( "function" [, time] )
Параметры
function
Имя функции Adlib для вызова.
time
Необязательно] Как часто в миллисекундах вызовать функцию. По умолчанию 250 мс.