autoit HotKeySet 函数实用指南
平时做技术实践时,很多问题不是概念不会,而是细节没串起来。拿“autoit HotKeySet 函数”来说,它看着像小点,放到项目里常会牵出环境、配置、兼容性和维护成本。下面按实际采用顺序,把思路、关键写法和容易踩坑的地方讲清楚,便于大家直接对照操作。
HotKeySet ( "热键" [, "函数名"] )
参数
| 热键 | 要设置的热键,按键格式与 Send() 函数采用的一样。 |
| 函数名 | [可选参数] 按下热键后要调用的函数名。留空则撤销此前设置的热键。 |
得到值
| 成功: | 得到值为1。 |
| 失败: | 得到值为0。 |
注意
每个脚本程序最多能同时注册64个热键。实际处理时,若有两个 AutoIt 脚本设置了同样的热键,您应该避免同时运行这两个脚本程序(否则第二个脚本将无法捕获热键,除非第一个脚本终止运行或在第二个脚本设置热键前撤销了冲突热键)。
在这个场景下,用户按下热键后 *通常会* 中断当前运行中的 AutoIt 函数/语句,同时运行该热键关联的用户函数,直到其完成操作或被中断为止。当然也会有些例外:
结合项目来看,1) 如果当前(运行的)函数是个“阻断型(blocking)”函数,则键击动作将被缓冲同时等待该阻断型函数完成操作后才继续执行。MsgBox 和 FileSelectFolder 就是典型的阻断型函数。您能够试试在下面示例脚本中定义的热键 Shift-Alt-d。
从实现思路看,2) 如果您在 AutoIt 的托盘菜单上选择了暂停脚本则任何在暂停期间按下的热键都将被忽略。
不能设置的热键:
| Ctrl+Alt+Delete | 由 Windows 保留 |
| F12 | 也是由 Windows 保留,涉及到 API。 |
| 小键盘上的 Enter(回车)键 | 采用 {Enter} 即可同时捕获主键盘和小键盘上的回车键 |
| Win+B,D,E,F,L,M,R,U; 以及 Win+Shift+M | 结合项目来看,这些都是 Windows 内置的快捷键。注意:Win+B 和 Win+L 仅由 Windows XP 以上系统保留。 |
| Alt, Ctrl, Shift, Win | 这些都是辅助按键! |
| 其它 | 在这个场景下,任何由第三方软件定义的全局热键、任何由两个或更多“基键”组成的热键(比如 '{F1}{F2}')、任何型如 '{LALT}' 或 '{ALTDOWN}' 的按键。 |
实际处理时,在设置了一个热键后,AutoIt 将尝试捕获指定按键事件但同时不会把它传递到激活程序中,不过也有一个例外:按下 Lock 键(包括 NumLock、CapsLock 和 ScrollLock)在任何时候都将切换其相应状态!如果想要把捕获的热键事件发送到激活程序中,您就必须先注销该热键然后再调用 Send 或 ControlSend 函数:
; 捕获并传递按键事件
HotKeySet("{Esc}", "captureEsc")
Func captureEsc()
; ... 这里可定义要做的各种任务
HotKeySet("{Esc}")
Send("{Esc}")
HotKeySet("{Esc}", "captureEsc")
EndFunc
相关
Send, ControlSend示例
落到代码里,; 按下 Esc 将终止脚本,按下 Pause/Break 则将“暂停”
Global$Paused
HotKeySet("{PAUSE}","TogglePause")
HotKeySet("{ESC}","Terminate")
HotKeySet("+!d","ShowMessage");Shift-Alt-d
;;;; 这里是程序主体 ;;;;
While1
Sleep(100)
WEnd
;;;;;;;;
Func TogglePause()
$Paused=NOT$Paused
While$Paused
sleep(100)
ToolTip('脚本已被“暂停”',0,0)
WEnd
ToolTip("")
EndFunc
Func Terminate()
Exit0
EndFunc
Func ShowMessage()
MsgBox(4096,"","这是一个对话框。")
EndFunc
相关资讯
-
09.02
Frozen Waterfall Sunlit Crystal Landscape
-
09.02
Luxury Studio Korean Fashion Portrait
-
09.02
AI回答采集中的模型调用:以腾讯混元为例的工程实践
-
09.02
Ancient Chinese Aesthetic Portrait
-
09.02
不同规模团队做AI短剧,人员配置与分工规划的操作思路与注意点
-
09.02
ChatGPT有哪些重点-关键信息和实际影响
游戏推荐
推荐专题
热门阅读
-
- 常用日期格式正则表达式完整指南(完善版)
- 09.02
-
- Flex控制弹出窗口拖动范围示例代码实用指南
- 09.02
-
-
- 如何分页显示数据库查询结果?实用指南
- 09.02
-
推荐下载
-
-
下载
- |
-
-
下载
- 《行尸走肉第一章》免安装中文汉化硬盘版下载
- 单机|436 MB
- 一款以动作冒险为主题的游戏
-
-
下载
- 《街头霸王X铁拳》免安装中文汉化硬盘版下载
- 单机|111MB
- 一款非常好玩的格斗游戏
-
-
下载
- |
-
-
下载
- 《暗黑破坏神3》免安装繁体中文正式版下载
- 单机|7630 MB
- 一款以角色扮演为主题的游戏
-
-
下载
- 《马克思佩恩3》免安装硬盘版下载
- 单机|27033 MB
- 一款以第三人称射击为主题的游戏