autoit设置程序热键
函数参考
HotKeySet
设置一个可调用某用户函数的热键.
HotKeySet("热键"
快连,"函数名"
参数
热键 要设置的热键,按键格式与Send()(mk:@MSITStore:D:\\autoit3\\Autoit3CHS.chm::\/html\/functions\/Send.htm)函数使用的一样.
函数名
可选参数
按下热键后要调用的函数名.留空则撤销此前设置的热键.
返回值
成功: 返回值为1.
失败: 返回值为0.
注意/说明
如果有两个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内置的快捷键.Note:Win+B和Win+L仅由WindowsXP以上系统保留.
Alt,Ctrl,Shift,Win 这些都是辅助按键!
其它 任何由第三方软件定义的全局热键、任何由两个或更多"基键"组成的热键'{F1}{F2}',任何型如'{LALT}'或'{ALTDOWN}'的按键.
在设置了一个热键后,AutoIt将尝试捕获指定按键事件但并不会把它传递到激活程序中,不过也有一个例外:按下Lock键(包括NumLock、CapsLock和ScrollLock)在任何时候都将切换其相应状态!
如果希望把捕获的热键事件发送到激活程序中,您就必须先注销该热键然后再调用Send或ControlSend函数:
;捕获并传递按键事件
HotKeySet("{Esc}","captureEsc")
FunccaptureEsc()
;这里可定义要做的各种任务
HotKeySet("{Esc}")