- 版本 v1.1.15.01
- 指南和概述
- 常见问题(FAQ)
- 按字母排序的命令和函数索引
- AutoHotkey 脚本展示
- 变更和新功能
- 基本用法和语法
- 迁移到 AutoHotkey 1.1(AutoHotkey_L)
- 环境管理
- 本机代码互操作
- 文件、目录和磁盘管理
- Drive
- DriveGet
- DriveSpaceFree
- FileAppend
- FileCopy
- FileCopyDir
- FileCreateDir
- FileCreateShortcut
- FileDelete
- FileEncoding [AHK_L 42+]
- FileGetAttrib
- FileGetShortcut
- FileGetSize
- FileGetTime
- FileGetVersion
- FileInstall
- FileMove
- FileMoveDir
- FileOpen [AHK_L 42+]
- FileReadLine
- FileRead
- FileRecycle
- FileRecycleEmpty
- FileRemoveDir
- FileSelectFile
- FileSelectFolder
- FileSetAttrib
- FileSetTime
- IfExist / IfNotExist
- IniDelete
- IniRead
- IniWrite
- Loop(文件和文件夹)
- Loop(读取文件内容)
- SetWorkingDir
- SplitPath
- 流程控制
- 内置函数
- GUI、MsgBox、InputBox 及其他对话框
- 鼠标和键盘
- 鼠标和键盘
- #InstallKeybdHook
- #InstallMouseHook
- #KeyHistory
- BlockInput
- Click [v1.0.43+]
- ControlClick
- ControlSend / ControlSendRaw
- CoordMode
- GetKeyState
- KeyHistory
- KeyWait
- Input
- MouseClick
- MouseClickDrag
- MouseGetPos
- MouseMove
- Send / SendRaw / SendInput / SendPlay / SendEvent: 发送按键和点击
- SendLevel [v1.1.06+]
- SendMode [v1.0.43+]
- SetDefaultMouseSpeed
- SetKeyDelay
- SetMouseDelay
- SetCapsLockState/SetNumLockState/SetScrollLockState
- SetStoreCapslockMode
- 数学相关
- 屏幕管理
- 杂项命令
- 进程管理
- 注册表管理
- 声音命令
- 字符串管理
- 窗口管理
- 控件
- 窗口组
- #WinActivateForce
- DetectHiddenText
- DetectHiddenWindows
- SetTitleMatchMode
- SetWinDelay
- StatusBarGetText
- StatusBarWait
- WinActivate
- WinActivateBottom
- WinClose
- WinGet
- WinGetActiveStats
- WinGetActiveTitle
- WinGetClass
- WinGetPos
- WinGetText
- WinGetTitle
- WinHide
- WinKill
- WinMaximize
- WinMinimize
- WinMinimizeAll / WinMinimizeAllUndo
- WinMove
- WinRestore
- WinSet
- WinSetTitle
- WinShow
- WinWait
- WinWaitActive / WinWaitNotActive
- WinWaitClose
- #指令
按键, 鼠标按钮和操纵杆控制器的列表
鼠标
概述 | |
---|---|
LButton | 鼠标左键 |
RButton | 鼠标右键 |
MButton | 鼠标中键或滚轮 |
高级 | |
XButton1 | 鼠标的第四个按钮。一般和 Browser_Back 执行相同功能。 |
XButton2 | 鼠标的第五个按钮。一般和 Browser_Forward 执行相同功能。 |
Wheel | |
WheelDown | 向下转动鼠标滚轮(向您的方向)。 |
WheelUp | 向上转动鼠标滚轮(远离您的方向)。 |
WheelLeft WheelRight | [v1.0.48+]:向左或向右滚动。 需要 Windows Vista 或更高版本。这可以用在某些(但并非所有)带第二个滚轮或支持左右滚动的鼠标热键。在某些情况下,必须通过鼠标的自带软件包控制这个功能。不论鼠标如何特殊,Send 和 Click 都能在支持它们的程序里水平滚动。 |
键盘
注意: 字母和数字按键的名称和单个字母或数字相同. 例如: b 表示 "b" 键而 5 表示 "5" 键.
概述 | |||
---|---|---|---|
CapsLock | 大小写锁定键 | ||
Space | 空格键 | ||
Tab | Tab 键 | ||
Enter (或 Return) | 回车键 | ||
Escape (或 Esc) | 退出键 | ||
Backspace (或 BS) | 退格键 | ||
光标控制 | |||
ScrollLock | 滚动锁定键 | ||
Delete (或 Del) | 删除键 | ||
Insert (或 Ins) | 插入改写切换键 | ||
Home | Home 键 | ||
End | End 键 | ||
PgUp | 向上翻页键 | ||
PgDn | 向下翻页键 | ||
Up | 向上方向键 | ||
Down | 向下方向键 | ||
Left | 向左方向键 | ||
Right | 向右方向键 | ||
Numpad | |||
NumLock 开启 |
| ||
Numpad0 |
| ||
Numpad1 |
| ||
Numpad2 |
| ||
Numpad3 |
| ||
Numpad4 |
| ||
Numpad5 |
| ||
Numpad6 |
| ||
Numpad7 |
| ||
Numpad8 |
| ||
Numpad9 |
| ||
NumpadDot |
| ||
NumpadDiv |
| ||
NumpadMult |
| ||
NumpadAdd |
| ||
NumpadSub |
| ||
NumpadEnter |
| ||
功能 | |||
F1 - F24 | 在大多数键盘顶部的 12 个或更多的功能键。 | ||
按键修饰符 | |||
LWin | 左边的 Windows 徽标键。对应的热键前缀为 <# 。 | ||
RWin | 右边的 Windows 徽标键。对应的热键前缀为 ># 。注意:与 Control/Alt/Shift 不同,没有一般的/中性的“Win”键,因为操作系统不支持。不过含 # 修饰符的热键可以被任何一个 Win 键触发。 | ||
Control (或 Ctrl) | Control 键。单独作为热键(Control:: )时它在弹起时触发,不过如果加上颚化符前缀可以改变这种情况。对应的热键前缀为 ^ 。 | ||
Alt | Alt 键。单独作为热键(Alt:: )时它在弹起时触发,不过如果加上颚化符前缀可以改变这种情况。对应的热键前缀为 ! 。 | ||
Shift | Shift 键。单独作为热键(Shift:: )时它在弹起时触发,不过如果加上颚化符前缀可以改变这种情况。对应的热键前缀为 + 。 | ||
LControl(或 LCtrl) | 左 Control 键。对应的热键前缀为 <^ 。 | ||
RControl(或 RCtrl) | 右 Control 键。对应的热键前缀为 >^ 。 | ||
LShift | 左 Shift 键。对应的热键前缀为 <+ 。 | ||
RShift | 右 Shift 键。对应的热键前缀为 >+ 。 | ||
LAlt | 左 Alt 键。对应的热键前缀为 <! 。 | ||
RAlt | 右 Alt 键。对应的热键前缀为 >! 。注意:如果您的键盘布局存在 AltGr 而不是 RAlt,那么您完全可以根据这里描述的那样通过 <^>! 把它作为热键前缀使用。此外,LControl & RAlt:: 可以把 AltGr 自身设置成热键。 | ||
多媒体 | |||
Browser_Back | 后退 | ||
Browser_Forward | 前进 | ||
Browser_Refresh | 刷新 | ||
Browser_Stop | 停止 | ||
Browser_Search | 搜索 | ||
Browser_Favorites | 收藏夹 | ||
Browser_Home | 主页 | ||
Volume_Mute | 静音 | ||
Volume_Down | 调低音量 | ||
Volume_Up | 增加音量 | ||
Media_Next | 下一首 | ||
Media_Prev | 上一首 | ||
Media_Stop | 停止 | ||
Media_Play_Pause | Play/Pause | ||
Launch_Mail | 打开默认的电子邮件程序 | ||
Launch_Media | 打开默认的媒体播放器 | ||
Launch_App1 | 打开我的电脑 | ||
Launch_App2 | 打开计算器 | ||
注:上面列出的每个按键的功能可以通过修改 Windows 注册表进行替换。这个表格中显示的是在 Windows 系统的大多数版本中每个按键的默认功能。 | |||
特别 | |||
AppsKey | 菜单键。这是调用右键上下文菜单的按键。 | ||
PrintScreen | 捕获屏幕 | ||
CtrlBreak | |||
暂停 | 暂停键 | ||
中断 | 中断键。由于此键和 Pause 含义相同,所以在热键中请使用 ^CtrlBreak 代替 ^Pause 或 ^Break 。 | ||
帮助 | 帮助键。此键可能在大多数键盘上不存在。它通常和 F1 不同. | ||
Sleep | 休眠键。注意在一些键盘上的 sleep 键可能不是休眠功能。 | ||
SCnnn | 请在 nnn 中指定按键的扫描码。识别上面没有提到的罕见的按键。请参阅特殊按键了解详情。 | ||
VKnn | 请在 nn 中指定十六进制的虚拟按键码。这种极少用的方法还可以避免某些类型的热键需要安装键盘钩子。例如,后面的热键不使用键盘钩子,但副作用是它会在按下 Home 或 NumpadHome 的其中一个时触发:^VK24::MsgBox You pressed Home or NumpadHome while holding down Control.已知限制:强制使用键盘钩子的 VK 热键,例如 *VK24 或 ~VK24 ,只会触发其中一个热键,而不会触发两者(例如触发 NumpadHome 但不触发 Home)。关于 VKnn 方法的更多细节,请参阅特殊按键。 |
操纵杆
Joy1 到 Joy32: 操纵杆的按钮. 要辅助判断您操纵杆的按钮编号, 请使用此 测试脚本. 请注意这里不支持 热键前缀符, 例如 ^ (control) 和 + (shift) (尽管可以使用 GetKeyState 作为替代方法). 还必须注意, 如果活动窗口设计对操纵杆按钮进行检测, 那么操纵杆按钮按下时总是会 "传递" 给它.
尽管下列操纵杆控制器的名称不能设为热键, 但它们可以用于 GetKeyState:
JoyX, JoyY 和 JoyZ: 操纵杆的 X (水平), Y (垂直) 和 Z (高度/深度) 轴.
JoyR: 操纵杆的方向舵或第 4 轴.
JoyU 和 JoyV: 操纵杆的第 5 和第 6 轴.
JoyPOV: 视点 (帽) 控制器.
JoyName: 操纵杆或其驱动的名称.
JoyButtons: 操纵杆支持的按钮数 (不总是准确的).
JoyAxes: 操纵杆支持的轴数.
JoyInfo: 提供由零个或多个后面的字母组成的字符串, 这些字母表示操纵杆的功能: Z (有 Z 轴), R (有 R 轴), U (有 U 轴), V (有 V 轴), P (有 POV 控制器), D (POV 控制器有少数离散的/不同的设置), C (POV 控制器是连续的/良好的). 示例字符串: ZRUVPD
多个操纵杆: 如果计算机上有多个操纵杆并且您想使用第一个外的其他操纵杆, 那么请在控制器名称的前面加上操纵杆的编号 (最大为 16). 例如, 2joy1 表示第二个操纵杆的首个按钮.
注意: 如果您在使用脚本识别您的操纵杆时遇到问题, 曾有人报告说尽管只有一个操纵杆却需要指定大于 1 的操纵杆编号. 不清楚这种方法是如何得到的或是否正常, 不过请尝试在 操纵杆测试脚本 中使用操纵杆编号也许可以帮助确定这种方法是否适合您的系统.
另请参阅:
操纵杆重映射: 使用操纵杆发送键击和鼠标点击的方法.
操纵杆到鼠标的映射脚本: 把操纵杆作为鼠标使用.
手持遥控
通过 WinLIRC 客户端脚本 响应手持遥控器的信号.
特殊按键
如果您的键盘或鼠标含有前面没有列出的按键,那么使用下列步骤后您仍可能把它设为热键。
- 确保至少有一个使用 键盘钩子 的脚本正在运行. 打开脚本的主窗口并在菜单栏中选择 "View->Key history" 后您可以判断脚本是否使用了键盘钩子.
- 双击脚本的托盘图标来打开其主窗口.
- 按下您键盘上的其中一个 "神秘按键".
- 选择菜单项 "View->Key history"
- 向下滚动到页面的底部. 在底部附近的某个地方可以看到您按键的按下和弹起事件. 注: 一些按键不生成事件, 因此这里看不到它们的事件. 如果是这种情况, 那么您不能直接把此特殊按键设为热键, 因为您的键盘驱动或硬件在很低的 AutoHotkey 无法访问的层面处理它. 要得到可能的解决方法, 请参阅较远的后面.
- 如果检测到了您的按键, 请记下列表中第二列的 3 位十六进制值 (例如 159).
- 要把此键定义为热键, 请参照此例:
SC159:: ; 把 159 替换为您按键的值. MsgBox, %A_ThisHotKey% was pressed. return
反向: 要把其他键重映射 为 "神秘按键", 请参照此例:
; 把 159 替换为上面找到的值. 把FF(如果需要)替换为 ; 按键的虚拟键,它可以在按键历史页面的首列找到。 "https://www.wenjiangs.com/doc/AutoHotkey-Send">Send {vkFFsc159}
可选的解决方案: 如果您的按键或鼠标按钮没有在按键历史页面检测到, 那么下面的其中一种方法可能有帮助:
重新配置您鼠标或键盘的附带软件 (有时可以在控制面板或开始菜单中访问) 来让 "神秘按键" 发送其他的键击. 然后可以在脚本中把这样的键击设置为热键. 例如,如果您配置神秘按键来发送 Control+F1,然后在脚本中通过使用
^F1::
您可以把这个按键间接的设置为热键。试试 DllCall: 对人体学输入设备的支持. 您还可以在 论坛 中搜索类似 RawInput* 的关键字.
下面是最后的手段, 通常应该在其他所有方法都无效时才去尝试. 这是由于成功的机会很小且可能会引起难以取消的不必要的副作用.
禁用或移除您键盘或鼠标的附带软件, 或者让它使用更标准的驱动, 例如操作系统内置的那个. 这里假设您特殊的键盘或鼠标使用自己的驱动并且您不使用其自带驱动和软件提供的功能.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论