高级热键功能

目录

常规

重映射容易按到但却很少使用的按键

键盘上一些很容易按到的键却不经常使用. 我们要让这些键变得更有用. 例如, 如果您很少使用右 Alt 键, 那么可以让它执行常用的操作:

RAlt::MsgBox "You pressed the right ALT key."

您甚至可以在保持右 Alt 键原来的功能的同时, 把它作为其他热键的 "前缀" 键来实现上述功能. 在下面的例子中, 右 Alt 作为前缀键, 这让它自动地像平常那样修饰其他 所有 的按键. 但如果您按下并放开右 Alt 期间没有按下其他键, 那么它的热键功能(上面的例子) 会立即生效:

RAlt & j::AltTab

使用任意键作为修饰符

修饰符不再局限于 Ctrl, Alt, ShiftWin; 您可以使用 任意 两个按键或鼠标按钮组成自定义热键. 例如: 按住 Numpad0 且按下 Numpad1 来执行热键(Numpad0 & Numpad1::); 按住 CapsLock并按下另一个键或点击鼠标右键(CapsLock & RButton::). 此时(运行热键时), CapsLock 键的状态(大写或小写) 不会发生改变. 有关详情, 请参阅自定义组合键.

让鼠标滚轮执行 Alt-Tab

使用鼠标滚轮(或您选择的其他任意键) 完全代替 Alt-Tab. 点击滚轮来显示窗口选择菜单, 转动滚轮来浏览菜单. 当 Alt-Tab 菜单没有出现时滚轮仍保持正常的功能. 语法:

MButton::AltTabMenu
WheelDown::AltTab
WheelUp::ShiftAltTab

使键盘成为鼠标按键

让键盘按键 成为 鼠标按钮, 或当您按住某个键或鼠标按钮时持续重复某个动作. 有关示例请参阅重映射页面.

让你的热键是上下文相关的

让最容易使用的热键根据不同的窗口类型执行适合的操作. 在下面的例子中, 右 Ctrl 键会根据活动窗口是记事本还是计算器执行不同的操作:

#HotIf WinActive("ahk_class Notepad")
RControl::Send "^s"  ; 在记事本中保存当前文件.

#HotIf WinActive("Calculator")
RControl::Send "^c!{tab}^v"  ; 复制计算器的结果到之前的活动窗口.

有关详情, 请参阅 #HotIf.

定义在键入时展开的缩写

也称为热字串. 不需要经过特殊的训练或脚本编写经验. 例如, 包含下列语句的脚本执行后, 在您输入 ceo, cfo 和 btw 时会自动扩展它们:

::ceo::Chief Executive Officer
::cfo::Chief Financial Officer
::btw::by the way

游戏

减少手指的磨损

别人拼血流汗时, 您只需动动手指, 就可执行一系列复杂的操作. 因为能使用几乎任何按键作为热键, 包括单个字母, 方向键, 数字小键盘按键, 甚至是修饰键本身(Ctrl, Alt, Win 和 Shift).

创建鼠标热键

创建鼠标热键, 包括鼠标滚轮按钮(MButton) 和往上/往下/往左/往右转动滚轮(WheelUp, WheelDown, WheelLeft 和 WheelRight). 您还可以把键盘键和鼠标按钮组合使用. 例如, 按住 Ctrl 时点击鼠标右键可以写为 ^RButton::.

创建 "穿透" 热键

例如, 点击鼠标左键一方面触发热键, 另一方面点击仍可以被发送到游戏中(语法: ~LButton::).

在屏幕上自动化游戏动作

使用例如 PixelSearch, PixelGetColorImageSearch 的函数可以自动化游戏操作.

使用键盘钩子

使用键盘钩子来实现热键, 当游戏占用较多 CPU 资源时, 这种方法会比其他方法响应的更及时. 使用钩子还可以解除在游戏中只有某些按键才可以 "映射" 到游戏动作上的限制.