AutoHotKey - Esc :: ExitApp não está funcionando

1

Eu tenho um longo script AHK com muitos {tab} e {down} etc ...

Se algo der errado, eu preciso terminar o script. Pesquisou no Google, encontrou muitas respostas, principalmente dizendo:

colocar esc::ExitApp no final do script

Isso simplesmente não funciona para mim ... Código:

^#i::

SetKeyDelay, 1000   ; set to see if the rapid key execution was preventing the esc::exitapp to work, but makes no difference.

send, !f {Right}{enter}
send, {TAB 3} {Down 20} 

; lots more {tab}'s and {enter}'s

Return   ; I remember to put it

Esc::ExitApp

Eu corro o script, testo Esc - funciona.

Pressiono ^ # i, a execução é iniciada e Esc não funciona mais, como se ^ # tivesse prioridade sobreposta ...

EDIT: coisa interessante é que se eu clicar manualmente no ícone da bandeja e clicar em pause script, meu ^ # i continua em execução, somente o manual "exit script" funciona ...

    
por Andrejs 05.06.2015 / 12:03

2 respostas

1

[depois de muita frustração]

Todos os novos scripts vêm com isso no topo:

 SendMode Input  ; Recommended for new scripts due to its superior speed and reliability.

Este comando evita SetKeyDelay , então eu comentei. MAS isso desabilita todos os Exitapp, suspend, reload , etc ...

Reenabled SendMode Input e todas as sugestões do trabalho da Internet. Exceto que estou sem SetKeyDelay novamente ...

    
por 05.06.2015 / 12:56
1

Não sei exatamente o que está causando o problema, pois não consigo replicá-lo na minha máquina. Mas você pode tentar usar o SetTimer com a sua tecla de atalho.

Isso pode permitir que você contorne qualquer comportamento de bloqueio.

; Bind the keybind to SetTimer
^#i::SetTimer, MySub, -1

; Declare the subroutine the timer triggers
MySub:
    ; Execute more code here...
    ; ...
    ; ...
return

Esc::ExitApp
    
por 05.06.2015 / 15:33

Tags