Novato pedindo ajuda,

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

Moderator: Gio

bluande
Posts: 4
Joined: 04 Jan 2019, 06:30

Novato pedindo ajuda,

04 Jan 2019, 06:46

Bom dia

Sou novo e estou com uma dúvida que é a seguinte:

Preciso executar uma sequencia de instruções infinitamente, ate que determinada tecla seja pressionada.
Exemplo:

Preciso que esse loop seja executado ate por exemplo ESC ser pressionado. Qual comando uso para fazer isso?

Loop {

// instruções

}

Alguém poderia ajudar?
Desde já obrigado
garry
Posts: 3764
Joined: 22 Dec 2013, 12:50

Re: Novato pedindo ajuda,

04 Jan 2019, 08:27

Code: Select all

;-------------------------------------
;- F8=START     ESCape=BREAK    loop
;-------------------------------------
F8::
Loop
    {
    tooltip, Loop is running
    If GetKeyState("ESC","P")
        {
        tooltip
        Break
        }
   }
Return
User avatar
Gio
Posts: 1247
Joined: 30 Sep 2013, 10:54
Location: Brazil

Re: Novato pedindo ajuda,

04 Jan 2019, 15:29

Boa tarde Bluande.

Seja bem-vindo ao fórum da comunidade do AutoHotkey.

Tem várias maneiras de fazer isso. Um exemplo é criar uma hotkey para o ESC que vai atualizar uma variável com um valor. Dentro do loop, será sempre checado se essa variável contém esse valor, e se isso acontecer, o loop será terminado com o comando break. Então, quando você apertar ESC, o valor será colocado na variável e na próxima iteração do loop, ele vai ser quebrado.

Code: Select all

Loop
{
	ToolTip, contando... %A_Index%
	If (APERTOU_ESC = 1)
	{
	ToolTip
	break
	}
	Sleep 500
}
Return

ESC::
APERTOU_ESC := 1
Return
garry
Posts: 3764
Joined: 22 Dec 2013, 12:50

Re: Novato pedindo ajuda,

05 Jan 2019, 07:29

Obrigado , Gio

Code: Select all

;----------------------------------------------
;F8=Start    esc=break loop     ctrl+esc=quit
;----------------------------------------------
#singleinstance,force
i=0
return
f8::
APERTOU_ESC := 0
Loop
{
	ToolTip, contando... %i%
	If (APERTOU_ESC = 1)
	{
	ToolTip
	break
	}
    i++
	Sleep 500
}
Return
^esc::exitapp
ESC::
APERTOU_ESC := 1
Return

Return to “Ajuda e Suporte Geral”

Who is online

Users browsing this forum: No registered users and 71 guests