AutoHotkey:为每个不同的窗口创建不同的快捷键!!!
AutoHotkey 为每个窗口设置不同的快捷键!
- AutoHotkey 版本: 2.0.18(也就是 v2)
- 中文在线帮助文档:快速参考 | AutoHotkey v2
- 本文只是分享简单的脚本,不是教程.
- 有问题可以联系作者.
确保阅读以上条例,避免因版本不同而导致脚本不可用.
基本操作流程:
想要为每个应用都设置自定义的快捷键,需要用到AutoHotkey的#HotIf指令.该指令接收一个条件,当条件成立的时候,设置的热键才会生效,所以利用这个指令可以为每个应用都设置成自定义的按键,
这里我将用 Win10 卡牌小游戏做演示.
1 | |
F1 按键的功能是发送一个弹窗, 可以用来确定脚本已经运行.
然后我设置一些快捷键,z键的功能是ctrl+z键的组合热键,用来快速撤销失误的卡片操作,Send "{LCtrl DownR}z"这句是一直持续按住ctrl键,然后在模拟z键的操作,sleep 50 是按住的时长. 没有这句的话,按键会在 0.05 秒内操作并结束,此时可能因为速度太快,而导致游戏没有识别出按键,不会进行操作,经过多次的实验,50 毫秒不会有很大的延时性,也不会因为太快导致游戏按键 Event 没有触发.(设置 sleep 是很有必要的)
下面的s和f键是模拟鼠标点击的操作,按下s键,鼠标会快速移动到♣5的位置并单击,而且是没有平移轨迹的,所以这个功能对一些检测性强的游戏不适用,会被识别为使用了脚本,,f键就是快速移动到♠9的位置并单击,
基本按键重映射
z::b,此代码会在按下z键的时候来模拟b键的操作,而原本的b键还是b,此时会丢失z键的功能.
z:: { code ... },此代码后面的大括号就是编程里面的块结构,属于是一个整体,没有特别语法默认从上到下的执行.
z::后面的参数有很多种,常用的一些函数是 Send,SendText,Click等,每个函数可接受多个参数,推荐去本文章给出的在线帮助文档去查看.
所有的按键都设置完之后.需要用#HotIf来关闭代码块.也就是在最后输入#HotIf,而不需要任何参数.
一个脚本可以有多个#HotIf WinActive('windows title')代码块,以对不同的窗口执行不同的自定义快捷键版本.
重要提醒
本文只是分享一种个性化定制的方案,不涉及游戏篡改,
因次脚本应用而被游戏检测到并封号,与本文章无关.
本文章不推荐用作游戏脚本的开发,