AHK热键(鼠标、操纵杆和键盘快捷键) 您所在的位置:网站首页 autohotkey按住触发松开停止 AHK热键(鼠标、操纵杆和键盘快捷键)

AHK热键(鼠标、操纵杆和键盘快捷键)

#AHK热键(鼠标、操纵杆和键盘快捷键)| 来源: 网络整理| 查看: 265

热键也称为快捷键, 因为它们能简便地触发动作 (例如运行程序或键盘宏). 在下面的例子中, Win+N 被设置为启动记事本. [#] 表示 Windows 键, 它被称为修饰符:

#n:: ; window键 + n 调用Notepad记事本 Run Notepad return ; 结束此热键 #q:: ;win+q 会重新运行该脚本, 不用手动reload reload return

在前面的最后一行中,return用来结束此热键。不过, 如果热键只需要执行单行语句, 那么此行可以直接放在双冒号的右边. 换句话说,return可以省略:

#n::Run Notepad ; 如果下面还有其他内容的话,不是属于该热键的话, 不可以省略

要在热键中使用多个修饰键, 那么需要把它们连续地列出来 (顺序无关紧要). 下面的例子中使用 ^!s 来表示 Control+Alt+S:

^!s:: Send Sincerely,{enter}John Smith ; 向 (最前面的) 窗口发送字符串. return

在定义热键时您可以使用下列修饰符:

符号说明#Win (Windows 徽标键). 在 v1.0.48.01+, 对于 Windows Vista 及以上版本, 包含 Windows 键的热键 (例如 #a) 会等待 Windows 键被释放后才发送任何包含 "L" 键击的文本. 这样避免了这种热键中的 Send 锁定 PC。这种行为适用于除 SendPlay (这里不需要) 和 盲从模式 外的所有发送模式.!Alt^Control+Shift&和符号可以用来组合任意两个按键或鼠标按钮, 让它们成为自定义热键.使用成对按键中右边的那个.!AltGr (alternate graving). 如果您键盘布局中含 AltGr 键而非右 Alt 键,那么这一系列符号一般可用于表示 AltGr。*通配符: 即使附加的修饰键被按住也能激发热键. 这常与 重映射 按键或按钮组合使用*#c::Run Calc.exe ; Win+C、Shift+Win+C、Ctrl+Win+C 等都会触发此热键。~激发热键时,不会屏蔽(被操作系统隐藏)热键中按键原有的功能。在下面的两个例子中, 用户的鼠标按钮点击会被发送到活动窗口:~RButton::MsgBox You clicked the right mouse button.$通常只在脚本使用 Send 命令发送包含了热键自身的按键时才需要使用此符号, 此时可以避免触发它自己. $ 前缀强制使用 键盘钩子 来实现此热键, 作为一个副作用这样避免了 Send 命令触发它自己. $ 前缀相当于在此热键定义之前的某个位置指定了 #UseHookUP单词 UP 可以跟在热键名后面使得在释放按键时触发热键, 而不是按下时. 下面的例子把 LWin 重映射 为 LControl:*LWin::Send {LControl Down}*LWin Up::Send {LControl Up}

“Up”也可以用于普通热键中,例如:^!r Up::MsgBox You pressed and released Ctrl+Alt+R。它还可以用在组合键(例如 F1 & e Up::)

多个热键可以垂直地叠放来让它们执行相同的动作. 例如:

^Numpad0:: ^Numpad1:: MsgBox Pressing either Control+Numpad0 or Control+Numpad1 will display this message. return

通过不为按键或按键组合的热键指定任何操作可以在整个系统中完全禁用它们. 下面的例子中禁用了右 Windows 键:

RWin::return ; 约等于什么都不做

上下文相关的热键

#IfWinActive/Exist 和 #If 指令可以用来让热键根据不同的条件执行不同的动作 (或什么都不做). 例如:

#IfWinActive, ahk_class Notepad ; 多条件, 只有在 Notepad 窗口, 下面的热键才成立 ^a::MsgBox You pressed Ctrl-A while Notepad is active. Pressing Ctrl-A in any other window will pass the Ctrl-A keystroke to that window. #c::MsgBox You pressed Win-C while Notepad is active. #IfWinActive #c::MsgBox You pressed Win-C while any window except Notepad is active. #If MouseIsOver("ahk_class Shell_TrayWnd") WheelUp::Send {Volume_Up} ; 在任务栏上滚动滚轮:增加/减小音量。 WheelDown::Send {Volume_Down} ;

自定义组合键及其他特性

通过在两个按键 (不包括操纵杆按钮) 间使用 "&" 可以定义定制的组合键. 在下面的例子中, 您在按住 Numpad0 接着按下第二个按键时会触发此热键:

Numpad0 & Numpad1::MsgBox You pressed Numpad1 while holding down Numpad0. Numpad0 & Numpad2::Run Notepad

在上面的例子中, Numpad0 成为前缀键; 但是这也让 Numpad0 在被按下时失去了它原有的功能. 为了避免此问题, 脚本中可以配置 Numpad0 执行新的动作, 例如下列热键的其中一个:

Numpad0::WinMaximize A ; 最大化活动/前端窗口. Numpad0::Send {Numpad0} ; 让 Numpad0 释放 时产生 Numpad0 键击. 请参阅下面的注释.

使用上面的其中一个自定义组合热键可以在释放Numpad0时执行指定的动作,但仅在您之前按住Numpad0时没有按其他任何按键的情况下。

Numlock, Capslock 和 Scrolllock: 这些键可以被强制设置为 "AlwaysOn" 或 "AlwaysOff". 例如:SetNumlockState AlwaysOn。

覆盖资源管理器热键: 在脚本中可以为 Windows 内置的热键例如 Win-E (#e) 和 Win-R (#r) 指定一个动作来个别的替换.

替换 Alt-Tab: 热键可以提供 Alt-Tab 切换窗口的可选方法. 例如, 下面的两个热键可以让您用右手进行 alt-tab:

RControl & RShift::AltTab ; 按住右 control 后接着反复下右 shift 来向前移动. RControl & Enter::ShiftAltTab ; 甚至不需要释放右 control, 直接按 Enter 来反向移动.

鼠标滚轮热键

通过键名 WheelDown 和 WheelUp 可以支持转动滚轮来激发热键. 在 v1.0.48+ 中还支持 WheelLeft 和 WheelRight,但在早于 Windows Vista 的操作系统上没有效果。这里是一些鼠标滚轮热键的例子:

MButton & WheelDown::MsgBox You turned the mouse wheel down while holding down the middle button. ^!WheelUp::MsgBox You rotated the wheel up while holding down Control+Alt.

鼠标滚轮最有用的一些热键包括滚动窗口文本的可选方法. 例如, 使用下面的一对热键可以在您按住左 Control 键并转动滚轮时进行水平滚动而不是垂直滚动:

~LControl & WheelUp:: ; 向左滚动. ControlGetFocus, fcontrol, A Loop 2 ;


【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有