2009-10-08 5 views
0

Я пытаюсь написать сценарий AutoIt3, чтобы пройти через мастер для настройки программы. В какой-то момент, в зависимости от того, что уже установлено на машине, оно может появиться или не появиться в другом диалоговом окне, в котором говорится что-то вроде «Это уже существует .. что бы вы хотели сделать?». Затем я сделаю скрипт обработать этот диалог, а затем продолжить.AutoIt3 - Как разветвиться, если появится окно?

Проблема заключается в том, что я не могу понять, как сделать его филиал на что-то если он выскакивает, не имея два отдельных сценариев AutoIt работает: один, чтобы сделать основной работы мастера установки, и один, чтобы наблюдать за возможным выскакивать.

Любые предложения?

ответ

2

Если вы знаете, где в настройках появится диалоговое окно, вы можете попробовать следующее: после этого вы перейдете через мастер к этой точке, WinWait для диалога. Если WinWait вернется без успеха, диалоговое окно, вероятно, не появилось.

+0

Nice! Работает как шарм. Имея два отдельных сценария, которые на самом деле кажутся более надежными в определенных ситуациях, но, безусловно, это не так, как хотелось бы делать. Итак, спасибо :) – 2009-10-08 16:43:07

2

Если вы не знаете, когда это произойдет (что-то, что может выскочить в любой момент), вы можете попробовать это:

AdlibEnable("myadlib") 

Func myadlib() 
    If WinActive("Error") Then 
     ;... 
    EndIf 
EndFunc 

из файла справки:

AdlibEnable


Включает функциональность Adlib.

AdlibEnable ("function" [, time])

Параметры

  • function Имя функции ADLIB позвонить.

  • time [необязательно], как часто в миллисекундах вызывать функцию. Значение по умолчанию - 250 мс.

+2

AdlibEnable («myadlib») теперь называется AdlibRegister («myadlib») ;-) – 2010-11-26 23:28:33

 Смежные вопросы

  • Нет связанных вопросов^_^