Temporizador Topic is solved

Tire suas dúvidas sobre programação em AutoHotkey

Moderator: Gio

franz
Posts: 6
Joined: 01 Apr 2021, 12:19

Temporizador

Post by franz » 01 Apr 2021, 12:39

Preciso fazer um script que quando aperte Q ele envie F1 e a mensagem "ligado". Mas que nos próximos 5 segundos se apertar Q novamente, ele envie apenas a mensagem "ligado".

Tentei fazer com sleep e um if, mas o sleep trava o código todo e não consegui.

Code: Select all

q::
send, {f1}
send, ligado
return
Alguém pode ajudar?

User avatar
Gio
Posts: 1247
Joined: 30 Sep 2013, 10:54
Location: Brazil

Re: Temporizador  Topic is solved

Post by Gio » 01 Apr 2021, 17:09

Boa tarde Franz.

Você pode usar a variável embutida A_TickCount para calcular lapsos de tempo de execução. Um exemplo é justamente esse, onde você vai salvar o valor dela em algum momento, e depois vai acionar alguma ação SE a diferença entre o valor no tempo da nova execução for mais de 5 segundos (5000 milisegundos) em relação ao valor salvo anteriormente.

Code: Select all

q::
send, {f1}
If ((A_TickCount - ULTIMA_OCORRENCIA > 5000) OR (ULTIMA_OCORRENCIA = ""))
{
	send, ligado
	ULTIMA_OCORRENCIA := A_TickCount
}
return

Post Reply

Return to “Ajuda e Suporte Geral”