Autoit3 - Como ramificar se uma janela aparecer?
-
20-09-2019 - |
Pergunta
Estou tentando escrever um script Autoit3 para passar por um assistente para configurar um programa. A certa altura, dependendo do que já foi instalado na máquina, ela pode ou não exibir outra caixa de diálogo dizendo algo como "Isso já existe ... o que você gostaria de fazer?". Então eu fazia o script lidar com essa caixa de diálogo e depois continuava.
O problema é que não consigo descobrir como fazê -lo ramificar em algo E se Ele aparece sem ter dois scripts automáticos separados em execução: um para fazer a configuração principal do assistente e outra para observar o possível pop -up.
Alguma sugestão?
Solução
Se você souber onde na configuração a caixa de diálogo aparece, você pode tentar o seguinte: depois de se mover pelo assistente até este ponto, Winwait para a caixa de diálogo. Se o Winwait retornar sem sucesso, a caixa de diálogo provavelmente não apareceu.
Outras dicas
Se você não souber quando isso acontecerá (algo que poderia aparecer a qualquer momento), você pode tentar o seguinte:
AdlibEnable("myadlib")
Func myadlib()
If WinActive("Error") Then
;...
EndIf
EndFunc
Do arquivo de ajuda:
Adlibenable
Ativa a funcionalidade do ADLIB.
AdlibEnable ( "function" [, time] )
Parâmetros
function
O nome da função adlib a ser chamada.
time
Opcional] Com que frequência em milissegundos chamar a função. O padrão é 250 ms.