#InstallKeybdHook

AutoHotkey

#InstallKeybdHook

强制无条件安装键盘钩子。

#InstallKeybdHook

备注

使用键盘钩子监视键击是为了激活不受 RegisterHotkey (这是操作系统内置的功能) 支持的 热字串 和键盘 热键. 它还支持其他一些功能, 例如 Input 命令.

AutoHotkey 不会无条件安装键盘和鼠标钩子, 因为它们合起来至少占用 500 KB 的内存. 因此, 一般只有在脚本包含下列的其中一种情况时才会安装键盘钩子: 1) 热字串; 2) 一个或多个需要键盘钩子的 热键 (大多数不需要); 3) SetCaps/Scroll/Numlock AlwaysOn/AlwaysOff; 4) Input 命令, 在首次实际使用时安装钩子.

与之相比, 使用 #InstallKeybdHook 指令会无条件安装键盘钩子, 这样可以用来在 KeyHistory 中显示最近的 20 次键击 (便于调试), 或避免使用 #HotkeyModifierTimeout.

您可以通过 KeyHistory 命令或菜单项判断脚本是否使用了钩子. 您可以通过 ListHotkeys 命令或菜单项判断哪个热键使用了钩子.

此指令还会让脚本变成 持续运行的, 这意味着应该使用 ExitApp 结束脚本.

相关

#InstallMouseHook, #UseHook, Hotkey, Input, #Persistent, KeyHistory, 热字串, GetKeyState, KeyWait

示例

#InstallKeybdHook