查看完整视频
小黑屋思过中,禁止观看!
评论并刷新后可见

您需要在视频最下面评论并刷新后,方可查看完整视频

积分观看

您支付积分,方可查看完整视频

{{user.role.value}}
付费视频

您支付费用,方可查看完整视频

¥{{user.role.value}}
专属视频

只允许以下等级用户查看该视频

升级
会员专享

视频选集

1.3.2修饰符-神秘的符号(第一道壁垒)

  • 视频介绍
  • 交流讨论

1.3.2修饰符-神秘的符号(第一道壁垒)-AutoAHK

1.修饰符是什么

修饰符是用于限定热键的一种符号

2.存在的意义

  • 修饰符避免热键与普通按键的冲突
  • 拓展热键的范畴

3.常用修饰符(必须记住)

^ ctrl
+ shift
! alt
# win

4.修饰符的修饰符

<
>
& 自定义
~ 保留原始含义
* 通配
$ 钩子
UP 弹起
<^>! 特殊按键

5.详细解释

符号 说明
# Win (Windows 徽标键).[v1.0.48.01+]: 对于 Windows Vista 及以上版本, 包含 Win 键的热键(例如 #a) 会等待 Win 键被释放后才发送任何包含 L 键击的文本. 这样避免了这种热键中的 Send 锁定 PC. 这种行为适用于除 SendPlay(这里不需要) 和盲从模式(Blind) 外的所有发送模式. [v1.1.29+]: 文本模式也被排除在外.注意: 按下包含 Win 键的热键可能会导致额外的模拟击键(默认为 Ctrl 键). 请参阅 #MenuMaskKey.
! Alt注意: 按下包含 Alt 键的热键可能会导致额外的模拟击键(默认为 Ctrl 键). 请参阅 #MenuMaskKey.
^ Control
+ Shift
& 和符号可以用来组合任意两个按键或鼠标按钮, 让它们成为自定义热键. 详情请参阅下文.
< 使用成对按键中左边的那个. 例如 Alt 键才可以触发.
> 使用成对按键中右边的那个.
<^>! AltGr(alternate graving)(译者注: 标准键盘上没有该键). 如果您键盘布局中含 AltGr 键而非右 Alt 键, 那么这一系列符号一般可用于表示 AltGr. 例如:<^>!m::MsgBox You pressed AltGr+m.<^MsgBox You pressed LeftControl+LeftAlt+m.或者, 让 AltGr 自己成为热键, 请使用下面的热键(不像上面出现的任何热键):LControl & RAlt::MsgBox You pressed AltGr itself.
* 通配符: 即使附加的修饰键被按住也能激发热键. 这常与重映射按键或按钮组合使用. 例如:*#c::Run Calc.exe ; Win+C,Shift+Win+C,Ctrl+Win+C 等都会触发此热键.*ScrollLock::Run Notepad ; 即使在按住其他修饰键时按下 ScrollLock 也会触发此热键.通配符热键总是使用键盘钩子, 因此通配符热键使按下任何热键失效. 例如, *a:: 出现后会将 ^a:: 改为使用键盘钩子.
~ 激发热键时, 不会屏蔽(被操作系统隐藏) 热键中按键原有的功能. 在下面的两个例子中, 用户的鼠标按钮点击会被发送到活动窗口:~RButton::MsgBox 你点击了鼠标右键.~RButton & C::MsgBox 你按下鼠标右键的同时点击了C按键.S与其他前缀符号不同, 可以在热键的某些变体中使用颚化符(波浪号) 前缀而其他的不使用. 然而, 如果应用于颚化符(波浪号) 前缀的任何自定义组合键没有被关闭或暂停, 它会影响那个前缀键在 所有 组合中的行为.用于替代 alt-tab 的特殊按键总是忽略颚化符(波浪号) 前缀.[v1.1.14+]: 如果把颚化符(前缀键) 用在自定义修饰键中且此修饰键自身也作为热键, 则在按下此修饰键时会触发热键而不会被延迟到按键释放的时候. 例如, 上文中 ~RButton 热键在按下此按键时就会触发. 对于 [v1.1.14] 之前的版本(或未使用颚化符前缀), 则会在按键释放时触发其自身的热键, 不过仅在未触发 RButton & C 组合键的时候.如果颚化符前缀只应用于自定义组合键, 而不应用于非组合热键, 按键的原生功能将持续被屏蔽. 例如, 下面的脚本, 按住 Menu 键将会一直显示一个 ToolTip 而不会触发上下文菜单:AppsKey::ToolTip Press < or > to cycle through windows.AppsKey Up::ToolTip~AppsKey & <::Send !+{Esc}~AppsKey & >::Send !{Esc}只要有一个键盘热键有颚化符修饰, 热键总是使用键盘钩子.
$ 通常只在脚本使用 Send 命令发送包含了热键自身的按键时才需要使用此符号, 此时可以避免触发它自己. $ 前缀强制使用键盘钩子来实现此热键, 作为一个副作用这样避免了 Send 命令触发它自己. $ 前缀相当于在此热键定义之前的某个位置指定了 #UseHook.$ 前缀对于鼠标热键不起作用, 因为它们始终使用鼠标钩子. 它对于已经启用了键盘钩子的热键同样无效, 包括所有与颚化符(~) 或通配符(*) 搭配的修改器, key-up 热键以及自定义组合. 确定特定热键是否使用键盘钩子, 使用 ListHotkeys 查看.[v1.1.06+]: #InputLevel 和 SendLevel 对 Send 命令是否触发热键和热字串提供了额外的控制功能.
UP 单词 UP 可以跟在热键名后面使得在释放按键时触发热键, 而不是按下时. 下面的例子把左 Win 重映射为左 Control:*LWin::Send {LControl down}*LWin Up::Send {LControl up}“Up” 也可以用于普通热键中, 例如: ^!r Up::MsgBox You pressed and released Ctrl+Alt+R. 它还可以用在组合键(例如 F1 & e Up::)限制: 1) “Up” 不能和游戏杆按钮一起使用; 2) 在没有普通/按下热键副本的 “Up” 热键会完全接管那个按键以防被卡住. 避免这种情况的一种方法是添加颚化符(波浪号) 前缀(例如 ~LControl up::)“Up” 热键和其同行的键(如果有的话) 总是使用键盘钩子.相关提示, 类似于上面的一种技术是让热键成为前缀键. 好处是尽管热键会在按键松开时激发, 但仅在您之前按住此前缀键时没有按其他任何键的情况下才会如此. 例如:LControl & F1::return ; 通过把左 control 键放在 “&” 前面至少一次来让它成为前缀键.LControl::MsgBox You released LControl without having used it to modify any other key.

注意: 请参阅按键列表来了解键盘按键和鼠标/操纵杆按钮的完整列表.

6.课程代码

;四种主修饰符+^#!
;一键打开两个网站,用到我们之前学的这个命令run

;#b::
    ;run,www.baidu.com
    ;Run,https://space.bilibili.com/38020172
;Return

;+b::
    ;Run,www.taobao.com
;Return

;^b::Run,https://space.bilibili.com/38020172

;!b::Run,https://space.bilibili.com/38020172

;!^b::Run,https://space.bilibili.com/38020172

;其他种类的修饰符
;<+b::Run,www.jd.com
;>^b::run,www.baidu.com
;*a::Run,www.autoahk.com
;~a::run,www.autoahk.com
;a & b::Run,www.autoahk.com

人已赞赏
0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索