AutoHotKey-Esc::ExitApp 不起作用

AutoHotKey-Esc::ExitApp 不起作用

我有一个很长的 AHK 脚本,其中包含许多简单的内容{tab}等等{down}......

如果出现问题,我需要终止脚本。谷歌搜索,发现了很多答案,大多是这么说的:

放在esc::ExitApp脚本的末尾

它对我来说不起作用...代码:

^#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

我运行脚本,测试Esc——它有效。

我按下 ^#i,执行开始,然后Esc不再起作用,好像 ^#i 具有压倒一切的优先级……

编辑:有趣的是,如果我手动单击托盘图标并单击暂停脚本,我的 ^#i 将继续执行,只有手动“退出脚本”有效......

答案1

我不太清楚是什么导致了你的问题,因为我似乎无法在我的计算机上复制它。但你可以尝试使用SetTimer而是使用热键。

这可能会让你避开任何阻塞行为。

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

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

Esc::ExitApp

答案2

[经过多次挫折后]

所有新脚本的顶部都有此内容:

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

此命令会阻止SetKeyDelay,因此我将其注释掉。但这会禁用所有Exitapp, suspend, reload,等等...

我重新启用后SendMode Input,互联网上的所有建议都有效。只是我SetKeyDelay又没有了……

相关内容