Estou tentando escrever um script contendo uma função que copia um texto, utilizando Ctrl+a, e verifica se nesse texto existe uma determinada palavra, se existir essa palavra, o script deveria continuar para a ação seguinte, caso contrário, ele deveria esperar um certo tempo e tentar novamente em seguida.
Porém, se o evento não ocorrer, ou seja, a determinada palavra não for localizada, o script entrará num loop infinito.
Portanto, gostaria que me ajudassem a encontrar uma maneira, de que quando a determinada palavra não fosse encontrada, após um certo tempo, após 10 segundos, por exemplo, fosse exibida uma mensagem: "tente novamente mais tarde".
Eu consegui fazer com que a função parasse após certo tempo, mas não consegui fazer que fosse exibida uma mensagem em seguida.
Aqui está o script (se houver outra forma de chegar no resultado que eu gostaria, por favor, me ajudem):
Code: Select all
!ç::
funcaoatencao()
return
funcaoatencao() ;função a ser utilizada no script
{
Ocorreuoevento := false
Tick := A_TickCount
while (Ocorreuoevento = false)
{
if ((A_TickCount - Tick) > 10000)
continue
;~ MsgBox, tente novamente em instantes ;eu gostaria que aparecesse essa mensagem após o término do tempo e encerrasse o script
Sleep 50
Send, {esc 2}
Send,^a
sleep, 100
Send,^c
Send, {esc 2}
Send, {left}
Sleep, 100
ClipWait,2
theData = %clipboard%
Palavracomparar := theData
Necessario := "ATENÇAO!!!"
IfInString, Palavracomparar, %Necessario%
{
Ocorreuoevento:= true
sleep,300
}
Sleep, 300
}
}
Espero que tenha entendido.