Autohotkey中的全局键盘function?

这个脚本“自动按下”E,同时按住它。

$e:: While GetKeyState("e","P") { Random, r, 50, 250 sleep r Send e } return 

有没有办法全球调用这个函数的任何键?

例如:按住A,会自动按A,Z会自动按Z.

没有手动分配代码上的每个可能的密钥。

Solutions Collecting From Web of "Autohotkey中的全局键盘function?"

我不知道有一种方法来捕捉所有的键。 但是,您可以通过以下方式组合热键来简化代码:

 $a:: $b:: $c:: ; and so on... $z:: RandomSendCurrentKey() ; all the above hotkeys will call RandomSendCurrentKey() return ; 'return' is needed to prevent further execution RandomSendCurrentKey() { local key StringReplace, key, A_ThisHotkey, $,, All ; removes '$' from key While GetKeyState(key, "P") { Random, r, 50, 250 sleep r Send %key% } } 

但为什么你需要一个while循环? 它应该不用while因为AutoHotKey会一直保持调用函数,只要你按下键:

 $a:: $b:: $c:: $z:: RandomSendCurrentKey() return RandomSendCurrentKey() { local key StringReplace, key, A_ThisHotkey, $,, All ; removes '$' from key Random, r, 50, 250 sleep r Send %key% }