#UseHook
优质
小牛编辑
130浏览
2023-12-01
强制使用钩子实现全部或部分键盘热键。
#UseHook [On|Off]
参数
- On|Off
单独使用 #UseHook 等同于
#UseHook On
。On:将用键盘钩子来实现从这里到下一个
#UseHook OFF
(如果有的话)之间的所有键盘热键。Off:用默认方法(不能使用 RegisterHotkey() 时才使用键盘钩子)实现热键。
备注
一般情况下, 只要可能都会用 windows API 函数 RegisterHotkey() 来实现键盘热键. 不过在一些情况下, 如果使用 键盘钩子 可能响应性更好.
切换此指令为 ON 相当于在每个受影响的热键定义中使用 $ 前缀.
和只在脚本启动时处理一次的所有 # 指令一样,#UseHook
不应该像命令那样放在脚本中(即它不需要被包含在子程序中)。相反, 应该把它放在您希望影响的首个热键标签之前.
默认情况下, 使用 键盘钩子 的热键不会被 Send 命令的方法触发. 同样地, 鼠标热键也不会被像 Click 这样的命令触发, 因为所有的鼠标热键都使用 鼠标钩子. 一种解决方法是使用 Gosub 直接跳转到此热键的子程序. 例如:Gosub #LButton
。
[v1.1.06+]: "SendLevel.htm">SendLevel 对 Send 命令是否触发热键和热字串提供了额外的控制功能.
如果脚本中未使用此指令, 那么它会表现的就像此设置为 OFF 那样.
相关
https://www.xnip.cn/shouce/1165/74634.html, #InputLevel
示例
#UseHook ; 强制从这里往后的热键使用键盘钩子。 #x::MsgBox, This hotkey will be implemented with the hook. #y::MsgBox, And this one too. #UseHook off #z::MsgBox, But not this one.