[计算机软件及应用]第一次亲密接触AutoHotkey

上传人:无*** 文档编号:148997731 上传时间:2022-09-06 格式:DOC 页数:185 大小:898.63KB
收藏 版权申诉 举报 下载
[计算机软件及应用]第一次亲密接触AutoHotkey_第1页
第1页 / 共185页
[计算机软件及应用]第一次亲密接触AutoHotkey_第2页
第2页 / 共185页
[计算机软件及应用]第一次亲密接触AutoHotkey_第3页
第3页 / 共185页
资源描述:

《[计算机软件及应用]第一次亲密接触AutoHotkey》由会员分享,可在线阅读,更多相关《[计算机软件及应用]第一次亲密接触AutoHotkey(185页珍藏版)》请在装配图网上搜索。

1、第一次亲密接触AutoHotkey 原 我认识AutoHotkey这款软件应该算是偶然吧,那是一个月前我的舍友让我帮他们重装系统,于是我就上网下载了些XP光盘并帮他们安装系统(说起XP光盘我可是用过不少哦!)在使用这些光盘的时候,我发现它们很有意思,特别是那些集成补丁和软件的、有启动界面的、有自动安装功能的光盘,让我马上产生要研究一番的冲动。网上流传的一些系统光盘里面会有软件安装管理器,这是由YangHaiJun写的一个程序,它可以在系统安装完毕后执行并提供用户一个界面以选择需要的常用软件、补丁和优化功能,相信很多人都见过。其界面如下图: 让我觉得最有意思的是它安装软件时的全自动化,完全不需要

2、用户操作即可安装软件,连使用注册机注册软件都是自动的,第一次见真的感觉有点神奇呢!于是我就开始研究它的制作方法,查看一下自动安装程序的软件描述,很快就发现它是用了AutoIt来编的。接着就搜索了一下相关资料,再接着就是研究&研究,在此同时我还发现有个同类型的软件,叫AutoHotkey,它和AutoIt差不多,但它有录制动作并写成脚本的功能,于是我转而研究AutoHotkey。看看关于它的介绍可以有个初步了解: AutoHotkey是简易而功能强大的热键脚本语言。使用者可将键盘、鼠标甚至游戏摇杆的移动和点击动作记录下来。比较特别的一点是:AutoHotkey具备一个脚本编译器,当你用Recor

3、d记录完成后,可以转换(Convert)功能将脚本转换成EXE可执行文件,这是非常有用的功能。 如果你能熟练地用好这款免费且开放源代码的工具,你的工作效率将大大提升。 目前AutoHotkey的最新版本是1.0.36.02,可到其官方网站 点击此处下载安装程序点击此处下载压缩包(不需安装) 如果你曾经安装过旧的版本,不需要卸载即可更新到新版本。如此强大而且又是免费的软件我怎会错过?不过目前网上没有帮助文档的汉化版本,所以英语是不得不学啊!第一次亲密接触AutoHotkey 续 原安装AutoHotkey后右键菜单会多了一些命令,如新建AutoHotkeyScript命令,这将新建一个ahk文件

4、。同时AutoHotkey还关联了*.ahk文件,直接双击它将运行脚本,在其上点右键会有关联命令菜单。如下图,从上至下分别是运行脚本、编译脚本和编辑脚本的命令。点击“EditScript”,将会用记事本来打开脚本以供编辑。要学习使用AutoHotkey,它的帮助文档是必看的,里面非常详细地说明了使用方法,好多英文啊我的第一个作品就是仿照它的帮助说明做的,绑定Win+Z为打开浏览器并登陆百度主页的快捷键的脚本:#z:Run运行此脚本后,在系统托盘上可看到一个H图标,说明正在运行脚本,此时按下快捷键Win+Z,预想马上实现,多么令人兴奋的一刻!说明:#代表Win键,所以#z就是按下Win+Z键的意

5、思,:后面的内容为此快捷键定义的命令。当然还有其他按键定义,如!对应Alt,对应Control,+对应Shift等等,帮助文档里面有详细说明。使用AutoHotkey运行并控制软件 原AutoHotkey的功能当然不会只是定义快捷键这么简单了,我最想知道的就是怎样利用它来控制软件的安装,从而达到自动安装软件的目的。1.打开记事本run, Notepad看看上面的脚本,简单吧?其实就像Windows里面开始运行输入的命令,看来只要“运行”命令可以运行的系统程序都可以哦!点击此处查看开始运行输入的命令集锦2.运行QQ的安装程序要运行QQ的安装程序,需要指定QQ的位置,假设为 D:qqsetup.e

6、xe ,那么脚本就是Run, D:qqsetup.exe其实最好就是在D:qq 文件夹下新建一个脚本,那么脚本中就不需要指定路径了:Run, setup.exe3.更进一步,开始控制程序运行安装程序后当然是想办法控制程序安装啦,运行QQ2005 Beta2 珊瑚虫版的安装程序后,出现如下界面:“下一步”按钮应该如何控制呢?试一试下面的脚本吧:Run, setup.exeSend, ENTER就是这么简单,当然,还可以用快捷键的,例如“下一步”的快捷键是ALT+N,那么理论上只要发出按下ALT加N然后放开ALT键的命令即可,那么试试吧:Run, setup.exeSend, ALTDOWNnAL

7、TUP结果却失败了,因为QQ的安装程序未被激活(这里指它不是当前窗口,在Windows里最前窗口为当前工作窗口)查看帮助文档,发现果然有相关命令如WinWait、IfWinNotActive、WinActivate、WinWaitActive等,然后修改上面的脚本,最后修改成功,如下:Run, setup.exeWinWait, 腾讯 QQ2005 Beta2 珊瑚虫版 安装, IfWinNotActive, 腾讯 QQ2005 Beta2 珊瑚虫版 安装, , WinActivate, 腾讯 QQ2005 Beta2 珊瑚虫版 安装, WinWaitActive, 腾讯 QQ2005 Bet

8、a2 珊瑚虫版 安装, Send, ALTDOWNnALTUP说明(按行说明): 1.运行安装程序; 2.WinWait,等待指定窗口;命令格式:WinWait, 窗口标题, 窗口文字, 等待/超时时间(秒), 排除指定的窗口标题, 排除指定的窗口文字窗口标题很好理解,在这里就是指QQ安装程序窗口的标题“腾讯 QQ2005 Beta2 珊瑚虫版 安装”,至于怎样获得窗口的准确标题就需要利用AutoHotkey的Window Spy了:开始所有程序AutoHotkeyAutoIt3 Window Spy 运行Window Spy后再运行QQ安装程序,即可在Window Spy看到所需窗口标题,鼠

9、标移动还可以获得窗口任意位置的坐标和经过的控件类名以及文本等等,如图:3.IfWinActive/IfWinNotActive,检查指定窗口是否存在并且已被激活;命令格式和WinWait一样。4.WinWaitActive,等待指定窗口直到其被激活;开始运行输入的命令集锦 转calc-启动计算器 certmgr.msc-证书管理实用程序 charmap-启动字符映射表 chkdsk.exe-Chkdsk磁盘检查ciadv.msc-索引服务程序 cleanmgr-垃圾整理 cliconfg-SQL SERVER 客户端网络实用程序 Clipbrd-剪贴板查看器 cmd.exe-CMD命令提示符

10、compmgmt.msc-计算机管理 conf-启动netmeeting dcomcnfg-打开系统组件服务 ddeshare-打开DDE共享设置 devmgmt.msc- 设备管理器 dfrg.msc-磁盘碎片整理程序 diskmgmt.msc-磁盘管理实用程序 drwtsn32- 系统医生 dvdplay-DVD播放器 dxdiag-检查DirectX信息 eudcedit-造字程序eventvwr-事件查看器 explorer-打开资源管理器 fsmgmt.msc-共享文件夹管理器 gpedit.msc-组策略iexpress-木马捆绑工具,系统自带 logoff-注销命令 lusrmg

11、r.msc-本机用户和组 magnify-放大镜实用程序 mem.exe-显示内存使用情况 mmc-打开控制台 mobsync-同步命令 mplayer2-简易widnows media player mplayer2-媒体播放机 Msconfig.exe-系统配置实用程序 mspaint-画图板 mstsc-远程桌面连接 narrator-屏幕“讲述人” net start messenger-开始信使服务 net stop messenger-停止信使服务 netstat -an-(TC)命令检查接口notepad-打开记事本 Nslookup-IP地址侦测器 nslookup-网络管理的

12、工具向导 ntbackup-系统备份和还原 ntmsmgr.msc-移动存储管理器 ntmsoprq.msc-移动存储管理员操作请求 odbcad32-ODBC数据源管理器 oobe/msoobe /a-检查XP是否激活 osk-打开屏幕键盘 packager-对象包装程序 perfmon.msc-计算机性能监测程序 progman-程序管理器 regedit.exe-注册表regedt32-注册表编辑器regsvr32 /u *.dll-停止dll文件运行regsvr32 /u zipfldr.dll-取消ZIP支持 rononce -p -15秒关机rsop.msc-组策略结果集 secp

13、ol.msc-本地安全策略 services.msc-本地服务设置 sfc /scannow-windows文件保护 sfc.exe-系统文件检查器 shrpubw-创建共享文件夹 sigverif-文件签名验证程序 sndrec32-录音机 Sndvol32-音量控制程序 syncapp-创建一个公文包 sysedit-系统配置编辑器 syskey-系统加密,一旦加密就不能解开,保护windows xp系统的双重密码 taskmgr-任务管理器 tourstart-xp简介(安装完成后出现的漫游xp程序) tsshutdn-60秒倒计时关机命令 utilman-辅助工具管理器 wiaacmg

14、r-扫描仪和照相机向导 winchat-XP自带局域网聊天 winmsd-系统信息winver-检查Windows版本wmimgmt.msc-打开windows管理体系结构(WMI) write-写字板 wscript-windows脚本宿主设置 wupdmgr-windows更新程序 用AutoHotkey编辑注册表与对话框原在AutoHotkey中可编辑注册表的相关命令有RegRead,RegWrite,RegDelete和Registry-loop,命令在帮助文档里有详细说明及实例。经常用到的是下面前三个,其命令格式为:RegRead,输出变量,主键名,子键名,键项RegWrite,数据

15、类型,主键名,子键名,键项,数值RegDelete,主键名,子键名,键项MsgBox用来显示简单的对话框,可配合IfMsgBox命令设置按钮反应,其命令格式为:MsgBox,选项,对话框标题,对话框信息文本,超时时间其中“选项”用以设置对话框种类及按钮布局,默认为零。一个例子:读取操作:获取系统版本号(以XP为例)键名:HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsNTCurrentVersion操作:读取字符串BuildLab的数值数据并在对话框中显示写入操作:调整WINXP启动时Chkdsk的等待时间键名:HKEY_LOCAL_MACHINESYSTE

16、MCurrentControlSetControlSessionManager操作:修改DWORD值AutoChkTimeOut,设置键值为1,使得Chkdsk的等待时间为一秒,在对话框中提供确认,设置错误提示。删除操作:假设存在子键HKEY_LOCAL_MACHINESOFTWAREtest,删除此子键键名:HKEY_LOCAL_MACHINESOFTWAREtest操作:删除此子键,在对话框中提供确认,设置错误提示。大概的思路就是这样了,下面是完整的脚本(分号后面是解释):RegRead,OutputVar,HKEY_LOCAL_MACHINE,SOFTWAREMicrosoftWindo

17、wsNTCurrentVersion,BuildLabMsgBox,0,系统版本号,你的系统版本号是:%OutputVar%;设置BuildLab数值为变量名OutputVar并在对话框中显示。MsgBox,4,修改确认,确认修改指定注册表项目?;询问是否进行操作IfMsgBox,YesRegWrite,REG_DWORD,HKEY_LOCAL_MACHINE,SYSTEMCurrentControlSetControlSessionManager,AutoChkTimeOut,1;如果Yes按钮被按下则进行指定操作IfErrorLevelMsgBox,0,错误,无法进行指定操作;出现错误则提

18、示用户MsgBox,4,修改确认,确认删除指定注册表项目?IfMsgBox,YesRegDelete,HKEY_LOCAL_MACHINE,SOFTWAREtest,IfMsgBox,NoReturnIfErrorLevelMsgBox,0,错误,无法进行指定操作闲着也是闲着,翻译一下AutoHotkey的帮助文档哈哈,发现自己的英语没有过关啊,马上找大学英语来看看先不过这翻译量也太大了,寒自己玩玩,哈哈,中文的看起来多了!*介绍AutoHotkey 是一款免费的、Windows平台下开放源代码的热键脚本语言。有了它,您就可以: 通过发送键盘或鼠标的键击动作命令来实现几乎所有操作的自动化。您可

19、以自己编写 宏 或者使用宏录制器来生成; 为键盘,游戏操纵杆和鼠标创建 热键。 事实上任何的按键、按钮或组合键都可以被设置为热键; 当键入您自定义的缩写时可以 扩展缩写。例如, 键入“btw”就可以自动扩展为“by the way”; 创建自定义的数据输入表格、用户界面、菜单等。详情请看 图形界面 部分; 映射 键盘、游戏操纵杆和鼠标上的按键或按钮; 运行现有的AutoIt v2脚本 并运用 新功能 来增强它们; 将脚本文件转换成EXE可执行文件,使得程序在没有安装AutoHotkey的机器上得以运行。 学习AutoHotkey可能比你想象的还要容易。马上看看 菜鸟指南 吧!更多关于热键的说明

20、AutoHotkey 可令键盘、游戏操纵杆和鼠标的所有潜能都发挥出来。例如,除了典型的Control、Alt和Shift键之外,你还可以定义Win键(徽标键)和Capslock键作为调节键。 而实际上你还可以设置任意的键盘按键或鼠标按键作为调节键。详细内容请看 高级热键 部分。其他功能 调节音量、设置静音,以及其他 关于声卡的设置; 令指定窗口变为 透明,顶层窗口,或改变 外形; 用 游戏操纵杆 或 键盘 代替鼠标; 监控 您的系统。例如,当您不希望见到的窗口出现时自动关闭它们; 获取并改变 剪贴板的内容, 包括从资源管理器中复制的文件的名称; 关闭或屏蔽 Windows自有的快捷键,例如Wi

21、n+E和Win+R; 取替Alt-Tab (通过按键、鼠标滚轮或按钮)从而减轻RSI(肢体重复性劳损 ); 使用您喜欢的图标、工具提示(ToolTip)、菜单项目和子菜单来自定义 托盘图标菜单 ; 显示 对话框、工具提示(Tooltips)、气球提示 以及 弹出菜单,与用户交互; 执行脚本动作来 响应 系统关闭或注销; 检测系统 空闲时间。例如, 在系统空闲的时候执行高CPU负荷的任务; 通过检测 图像 和 象素色彩来自动执行游戏中的动作; 读取、写入 以及 解释 文本文件比起其他语言更容易; 针对一组与 通配符 匹配的文件进行操作; 可对 注册表 和 INI文件 进行操作。 在 Window

22、s 95/98/Me 下的一些限制:一些 高级特性 - 例如鼠标热键和 热键串 - 在Win9x 平台将失效。特别鸣谢在此特别感谢 Jonathan Bennett,这家伙于1999年把AutoIt v2作为免费软件慷慨地发布出来,使AutoIt v2成为我自己以及世界上所有用户获得灵感和节省时间的工具。另外,AutoHotkey许多针对AutoIt v2指令集的增强功能,如Window Spy和脚本编译器都是直接根据AutoIt v3 的源代码改写的。所以在此感谢Jon以及其他AutoIt的开发人员。 最后,我想要说的是:如果没有 这些高手 的帮助,AutoHotkey 就不会走到现在创建键

23、盘或鼠标宏指令 原这个是帮助文档里“Creating a Keyboard Macro or Mouse Macro”部分的内容,哈哈,比较少东西我就拿它下手了链接不作修改.*所谓宏是指一系列按人的需求进行的的脚本动作。最常使用的宏就是对一个或多个指定窗口发出一系列 模拟键击 和 鼠标点击 命令,这些窗口将会对宏所发出的每一个键击或点击命令作出相应反应,实际效果就如用户真的进行相应操作一样,这样就可以迅速而轻松地实现自动完成各种繁重而又重复的操作了。当然您可以自己手写宏,不过您会发现有了脚本录制器(AutoScriptWriter)的帮助,写更复杂的宏将变得简单。脚本录制器就是一个宏录制器,A

24、utoHotkey就有附带(开始菜单所有程序AutoHotkeyAutoScriptWriter)。它就想一个摄影机一样记录键盘和鼠标动作,还可以获得窗口的 激活状态,然后就可以把这一系列的动作转换为可供以后迅速“回放”的宏(脚本文件)。要进行“回放”,最方便的一种方法是把指定的宏绑定到一个 热键 或 热键串。例如,下面这个热键将会创建一个空白邮件并进行相关设置:!s: ; 设定Control+Alt+S为热键,按下后将进行下面的操作IfWinNotExist, Inbox - Microsoft Outlookreturn ; 如果Outlook的收件箱窗口未被打开,则不进行任何操作,返回W

25、inActivate ; 激活上面命令中指定的窗口Send n ; 发送Control+N键击命令创建一个新的空白邮件Send Tab 2Product Recall for ACME Rocket Skates ; 按两次Tab键,输入主题Send TabDear Sir or Madam,Enter 2We have recently discovered a minor defect . ; 类似上面return ; 此行用以表示热键结束类似上面的热键宏对那些您每天都要重复进行的操作尤其有用。你可以把有用的脚本放到开始菜单或桌面方便使用。要马上开始创建您自己的宏和热键,请阅读 菜鸟指南

26、。 热键 (鼠标, 游戏操纵杆和键盘快捷键) 原还是无聊之中这个暑假好热啊还是呆在家里混比较好既然没事,我继续搞搞这个所谓的翻译,哈哈,全是靠自己的理解翻译的,现在翻译的速度比之前的快多了,看来这样可以学会很多这些专业词汇呢(包括按自己理解写的)不过我还是挺高兴的,毕竟我自己看还是可以看懂的呢!里面的链接我就不改了,省时*热键,也就是快捷键,可以用来触发某些指定的动作(例如运行一些程序或 宏指令)。下面这个例子中Win+N被设置为运行记事本的一个快捷键,井号#代表Win键(徽标键):#n:Run Notepad ;“开始运行”中可运行的程序都可以使用,其他程序需要指定路径return上面的最后

27、一行的return 用以表示此热键的结束。不过,如果此热键只需要处理一行命令的话,那一行命令就可以放到双冒号的右边(不需要空格),换句话来说就是 return 可以省略了:#n:Run Notepad要使一个热键有更多调节键,只需把它们连续列出即可。下面这个例子中 ! 表示Control+Alt:!s:MsgBox 您按了Ctrl+Alt+S.return值得注意的是,和其它常用的热键一样,它们是有一个先后顺序的,例如上面的例子中,如果先按下S键然后才按Control和Alt将不能触发热键。举个例子来说,我们用Ctrl+Alt+Del来调出Windows任务管理器,同样也是有个顺序的,您可以自

28、己实践一下,以下不再说明。您可以使用下列调节键来定义热键:符号相关描述#Win (徽标键) !AltControl+Shift&可用在两个按键(包括鼠标按键)之间来组合它们成为一个自定义的热键。详细说明请看 下面。使用成对按键(如Alt、Ctrl、Win)中左边的一个。例如!a 和 !a 差不多,但是使用成对按键(如Alt、Ctrl、Win)中右边的一个。同上,此功能不支持 Windows 95/98/ME。!AltGr。如果您的键盘布局中AltGr键代替了右边的Alt键,这一系列的符号就是用来表示AltGr键的(仅支持Windows NT/2k/XP或更高级版本)。例如:!m:MsgBox

29、您按了AltGr+m.!m:MsgBox 您按了左边的Control+左边的Alt+m.*通配符:只要包含有指定调节键的按键被按下即触发热键,经常用在 映射 按键或按钮的时候。例如:*#c:Run Calc.exe ; Win+C, Shift+Win+C, Ctrl+Win+C等等,只要有Win+C即触发热键。*ScrollLock:Run Notepad ; 按ScrollLock后运行记事本,不管是否同时有control/alt/shift/win按键按下。此功能不支持Windows 95/98/ME。如果自定义的热键和系统/程序原有的热键相同,则这些热键同时触发。在以下的两个例子里,当

30、用户按下鼠标右键后,自定义的热键功能和系统/程序原有的右键菜单将同时触发:RButton:MsgBox 您按下了鼠标右键RButton & C:MsgBox 您按下了C键和鼠标右键 需要说明的是:在上面的例子中若没有(即RButton)则将屏蔽原有的右键菜单,另外,一些专门用来代替 alt-tab 的按键将总是忽略这一设置,此功能不支持Windows 95/98/ME。此符号只有当脚本使用 发送(Send) 命令发送的按键正好包含有热键本身的时候才会用到。在不同的系统上使用前缀运行起来会有一些变化:在Windows NT4/2k/XP 或更高级版本:将强制使用 键盘钩子(keyboard ho

31、ok) 来执行热键。它的副作用就是阻止了 发送(Send) 命令触发热键。使用 前缀与使用指定的 #UseHook 等效。在Windows 95/98/Me 以及AutoHotkey v1.0.23以上: 在其 线程(thread) 的执行过程中热键将失效,此后才重新生效。它的副作用是就算 #MaxThreadsPerHotkey 被设置为大于1也跟设置为1一样。UPUP通常写在一个按键名后面,用来表示当某按键被松开后触发热键而不是在其被按下后。下面的例子把左边的Win键映射(替换)成左边的Control键:*LWin:Send LControl Down*LWin Up:Send LCont

32、rol Up ; 这样当左边的Control键坏了的时候就可以用左边的Win键来代替它。注意:并非完全替代,例如当按下LWin+Alt+Del的时候,并不会像按下Ctrl+Alt+Del一样出现Windows任务管理器。Up 还可以配合一些常用的热键,例如: !r Up:MsgBox 您按下并松开了Ctrl+Alt+R.此功能不支持 游戏操纵杆按钮。同时还要求在v1.0.28版本以上以及 Windows NT4/2000/XP或更高级版本才能有效。(查看 按键列表 获得完整的键盘/鼠标/游戏操纵杆按键名列表)可以把热键标记当作是普通标记来使用:您可以使用 Gosub/Goto 命令转到指定的标

33、记,也可以定义多个热键标记到相同的子程序,例如:Numpad0:Numpad1:MsgBox 按下Control+Numpad0或Control+Numpad1都会显示此信息。return如果一个热键没有定义任何动作,则这个按键或组合键将被屏蔽。下面的这个例子就屏蔽了右边的Win键:RWin:return仅在Windows NT, 2K, XP及其上平台有效的功能:您可以使用 & 连接两个按键来自定义一个组合热键。在下面的这个例子里,您可以按着小键盘上的0然后再按下1来触发热键:Numpad0 & Numpad1:Run NotepadNumpad0 & Numpad2:Run Calc在上面

34、的例子里,Numpad0 是个前缀按键。正如下面的这个例子一样,前缀按键也可以设定其自己的动作,但只有当按键被松开的时候才被触发,而且在按下按键的时候不会更改任何热键:Numpad0:WinMaximize A ; 最大化激活窗口。滚动鼠标滚轮(向上滚动或向下滚动)可以被定义为热键,例子:MButton & WheelDown:MsgBox 您按着鼠标中键同时向下滚动了滚轮。!WheelUp:MsgBox 您按着Control+Alt同时向上滚动了鼠标滚轮。还有一个功能是控制Numlock,Capslock,或Scrolllock这些键,使其保持开着或关闭的状态。例如:SetNumlockSt

35、ate, AlwaysOnWindows内置的热键如Win-E(#e)和Win-R(#r)可通过在脚本中为它分配其他动作而达到屏蔽的目的。详细说明请查看 撤销或屏蔽热键 部分。取替 Alt-Tab: AltTab和ShiftAltTab是两个比较特殊的命令,只跟热键结合使用才会有用,它们是用来取替Alt-Tab和Alt-Shift-Tab的。例如, 在下面这个例子里,你可以使用左边的Alt结合鼠标滚轮上下滚动来代替Alt-Tab和Alt-Shift-Tab进行切换。LAlt & WheelDown:AltTabLAlt & WheelUp:ShiftAltTab类似地,只用鼠标也完全可以取替A

36、lt-Tab,像下面一样,按下中键将显示切换界面,然后滚动鼠标滚轮即可进行切换,再次按下中键即可切换到选定窗口并退出切换界面:MButton:AltTabMenuWheelDown:AltTabWheelUp:ShiftAltTab如果您要用右手在键盘上切换(代替alt-tab),比较方便的方法是这样:RControl & RShift:AltTab ; 按住右边的Ctrl键和Shift键来切换RControl & Enter:ShiftAltTab ; 按住右边的Ctrl键和回车键来切换()The other Alt-tab actions available are:1) AltTabAn

37、dMenu: 如果存在切换界面则向右切换,否则显示切换界面。2) AltTabMenuDismiss: 关闭切换界面。现在您该知道以上所有关于Alt-tab的命令都必须像上面的例子一样分配给热键,否则它们将无效。注意由于Numlock键有开启/关闭两种状态,使得每个小键盘上的按键可在不同状态下触发两个不同的热键。当然,也可以把它们设置为触发同一个热键而不管Numlock的状态如何:NumpadEnd:Numpad1:MsgBox, 热键将忽略Numlock的状态而触发return如果()结合前缀按键使用过一次,则含有那个前缀按键的热键都会向激活窗口发送前缀按键的动作。例如在下面的例子里,鼠标右

38、键(RButton)就是前缀按键,上面的第一行命令规定了在按着鼠标右键的同时按下左键将触发热键而显示对话框,而且由于的存在,右键命令也同时触发(例如显示右键菜单,如果有的话);需要注意的是第二行的命令规定了在按着鼠标右键的同时往上滚动鼠标滚轮将触发热键而显示对话框,而且由于没有,右键命令将被屏蔽(例如屏蔽右键菜单) ,然而当此脚本执行的时候,右键命令依然会触发(例如不该出现的右键菜单出现了),因此需要特别注意这一点。 RButton & LButton:MsgBox 您按着右键同时按下了左键。RButton & WheelUp:MsgBox 您按着右键同时往上滚动了鼠标滚轮。中断 命令可以临时

39、关闭除了指定热键以外的所有热键。在脚本运行的过程中,热键可以通过 Hotkey 命令动态地创建。Hotkey命令还可以修改、关闭或开启脚本中已有的热键。游戏操纵杆热键目前不支持像 (Control)和# (Win)这样的调节键前缀。不过,您可以使用 GetKeyState 来模拟它的效果,如下面这个例子:Joy2:GetKeyState, ControlState, Controlif ControlState D ;在这里D表示按键被按下return ; 表明如果按钮未被按下则没有动作MsgBox 您按着Control键同时按下了游戏操纵杆的第二个按钮。return这个程序有点类似 多线程,

40、 它允许在前一个热键子程序仍在运行的时候运行新的热键,例如上面有一个热键被触发并显示 对话框(MsgBox),新的热键仍可以运行。使用SmartGUI Creator 3.5.1创建GUI 原SmartGUI Creator 3.5.1是编写AutoHotkey的用户界面(GUI)时非常有用的一个可视化设计工具,使用它可以很直观地设计界面并生成脚本。下载地址在这里,它支持Windows NT/2000/XP/2003及更高级版本;Windows 9x用户可下载此版本:随意解压下载的zip文件到任意目录,运行其中的SmartGUI.exe即可启动SmartGUI Creator。运行后可看到一个

41、蓝色的主界面和一个GUI助手(GUI Helper)在一侧,如图1所示。在主界面上点击右键就会显示相关命令,其中Add XXX那一列就是用来创建控件的(如图2所示)。选中后会立即在主界面上显示一个控件,此时控件左上角依附着鼠标,移动控件到合适的位置点击一次则鼠标自动跳到控件右下角,然后移动鼠标调整控件大小并再次点击则控件创建完毕。最后在目标控件上点击右键将显示相关命令,自上而下分别是复制控件、移动、定位、删除、修改标识、水平居中、垂直居中、对齐(左/中/右)等命令。由于默认设置了显示网格并自动对齐网格,因此若想对控件位置进行更加精细的调整,在右键菜单的“Options”中“MicroEditi

42、ng”即可。 使用SmartGUI Creator 3.5.1创建的GUI可含有以下这些控件:Button(按钮),Checkbox(复选框),ComboBox(选择框),DateTime(日期),DropdownList(下拉列表),Edit(编辑框),GroupBox(组框),Hotkey(快捷键),ListBox(列表框),ListView(项目显示),MonthCal(月历),Picture(图片),Progress(进度条),Radio(单选框),Slider(拖动条),Tab(标签),Text(文本),Updown(上下箭头)。大家参见AutoHotkey帮助文档结合实际使用很快就

43、可以了解它们的具体意义。在它的右键菜单中还有个比较有趣的功能,就是“GUI Stealer(偷窃者)”(留意图2)选中它后会提示你激活你想要“偷窃”的窗口,按下F12进行偷窃或按Esc退出。成功后会看到主窗口上居然把那窗口的界面(包括菜单、按钮、文本等控件)“复制”过来了!挺有趣的功能哦_不过它也不是个“神偷”,对很多的窗口它也是无能为力的哦,可惜可热字串和自动扩展 原这次翻译不太好搞,例如那个Tab,我就考虑了比较久,因为它可以被翻译为跳格键、空位键、制表键等等,用哪个比较适合我还是需要想想,而且在AutoHotkey的帮助文档里tab既可以指Tab键,也可以指Tab符,本来我想干脆不作翻译

44、直接就是Tab了,后来还是翻译为“空位”了,毕竟比较贴切一点,一个Tab代表8个空格(也就是空位啦)。*提醒一下:热字串要求在Windows NT/2000/XP或更高级版本才有效。热字串主要用来实现自动扩展,例如当你键入一些单词的缩写时自动扩展成完整词句,不过热字串也同样可以用来执行任何脚本动作,在这一方面它和 热键 类似,但它们由更多的字符组成,因此才被称为热字串。要定义一个热字串,只需要在两个双冒号之间插入缩写词,其后加上触发结果(替换文字)即可。例如::btw:by the way在上面的例子里,当键入btw这个缩写之后,再键入 结束符(ending character)即触发热字串,

45、使其自动扩展为by the way。结束符可以是指空格、句号或回车(如果要直接触发热字串而不必键入结束符,可以使用 * 选项)注意:后面的语句不能是中文,否则会变成乱码! :( 若要使用中文语句,可参考下面的 方法:这个例子中热字串的作用就是自动地把btw删除然后替换为by the way从而实现所谓的自动扩展。另外,正如上面所说,热键串还可以用来定义其他动作,不过记住要把相关命令置于热键串之下::btw:MsgBox 您键入了btw。;键入btw及结束符将显示此对话框,而btw将被删除(请看下面的说明)return尽管上面的热字串不属于自动扩展的一类,但用户键入的缩写词仍会被自动删除,这是因

46、为它的默认设置为自动发出退格命令。如有需要可以使用 b0 选项 来取消这一设置。 结束符在默认状态下,用户必须在键入热字串的缩写词后再键入一个缩写词,使用 * 选项 即可免去这一步。结束符默认是指这些字符:-():;/,.?!n t (注意:n代表回车,t代表Tab,在n和 t之间还有一个空格)。您可以仿照下面的语句来更改这一设置:#Hotstring EndChars -():;/,.?!n t ;右边的所有字符串都被定义为结束符选项热字串的默认行为可以有两种方法改变:1. 使用 #Hotstring 命令,用它结合下面的选项进行的设置会影响到其下脚本中的所有热字串,例如:#Hotstrin

47、g c r ; 区分大小写并且“发送原文”; 2. 在热字串的前两个冒号之间插入一个或多个选项,例如::c*:j:john ; 区分大小写并且取消结束符(也就是说不用结束符即可触发热字串)。 注意:当使用超过一个选项(下面列出)的时候,空格键可被随意添加到这些选项之间(而不会有影响)。* (星号):不再需要结束符(例如空格和回车等等)来触发热字串。使用 *0 来恢复。在下面的例子里,当号一被按下即触发热字串从而自动扩展缩写::*:yk:yonken? (问号):键入任何含有缩写词的词句都会触发热字串。举个例子,对于 :?:al:airline 这个热字串来说,键入含有“al”的“practic

48、al”这个单词将会生成“practicairline”(只是al被替换成了airline而不是整个单词,注意到了吗?)。 使用 ?0 (问号后面一个零)来恢复。 B0 (B后面接一个零): 自动退格删除缩写词的功能将被禁止。取消此功能后若想恢复可使用 B 选项。C: 区分大小写:用户键入的缩写词必须和脚本中的严格一致(也就是说区分大小写)。使用 C0 (C后面接一个零)来取消此功能。注意:如果您需要为同一个缩写词分开定义为两个只有大小写格式不同的热字串的话,那么请在其中一个热字串的前两个冒号之间插入空格,用以和另外一个热字串区分。这样做是有必要的,因为热字串属于标识,而每个标识必须是唯一的。在

49、下面的这个例子里,第一个热字串使用了一个额外的空格来与第二个区分::c :ceo:chief executive officer :c:CEO:Chief Executive OfficerC1: 取消匹配大小写。使用这个选项来使得那些自动扩展的热字串对大小写不再敏感(即输出结果将和热字串中定义的完全一致)。使用C0 来恢复。热字串默认状态下是匹配大小写的,如果用户键入的缩写词全部都是大写则输出的结果也全部大写;如果键入的第一个字母是大写则输出的第一个字母也会是大写;其他情况的输出结果将和热字串中定义的完全一致。下面针对此热字串:c :ceo:chief Executive officer来详

50、细说明:若键入CEO加结束符则输出结果为CHIEF EXECUTIVE OFFICER(全部字母都大写);若键入Ceo/CEo/CEO/CeO等则输出结果为Chief Executive officer(也就是说只是第一个字母改为大写而已);其他格式的输出结果都是和热字串原来定义的一致,也就是chief Executive officer。Kn: 按键延迟;通常来说几乎所有使用自动退格和自动扩展功能的热字串的按键延迟都是0。设置为零是被推荐的,因为这样既迅速而又可以很好地配合其它进程(由于内部设置了 Sleep 0)。若需要设置延迟,则给变量 n 赋值即可。用 -1 来表示完全没有延迟,如果您

51、的CPU经常性的处于重负荷状态的话,这会使自动扩展的速度加快。O: 当自动扩展的文字生成的时候省略结束符。这在你需要结束符来触发热字串而又不想让它输出到目标的时候非常有用。例如:通常我们是这样设置热字串的:ar:aristocrat,当键入“ar“和空格会输出“aristocrat ”(它画蛇填足地在后面添加了空格符);而当使用O选项后也即o:ar:aristocrat ,键入“ar”和空格会输出“aristocrat”,注意它是没有空格符在后面的。使用O0 (字母O后面接一个零)来恢复。Pn: 设置热字串的 优先级 (例如 P1)。此选项对实现自动扩展功能的热字串没有影响。R: 发送替换文字

52、的原文。也就是说热字串将完全一致地输出原文而不会解释Enter或c这些特殊的字符串,从而避免那些有 延续部分(continuation section) 的热字串自动发出回车或Control-C等等命令, 使用 R0 (R后面接一个零)来恢复。Z v1.0.30+: 每触发一次热字串则重设一次热字串识别器。这里的意思是脚本将会在每次热字串触发后消除对前一次键入内容的识别并等待新的热字串。举个例子来说明一下,下面的热字串没有Z选项,所以键入111后热字串将会触发两次而不是一次::b0*?:11:Send xxreturn只要在b0前面插入一个Z,就必须键入1111而不是111来触发两次热字串。

53、使用 Z0 (Z后面接一个零)来恢复。 大段替换文本在 v1.0.32以上版本中,通过添加 延续部分(continuation section),热字串可以输出大段的替换文本。例如::text1:(Any text between the top and bottom parentheses is treated literally, including commas and percent signs.By default, the hard carriage return Enter between the previous line and this one is also preser

54、ved.Also, the indentation Tab to the left of this line is preserved by default.See continuation section for how to change these default behaviors.)特别需要注意的是,延续部分不能直接使用中文字符,否则会输出乱码,解决方法请参考下面。延续部分的存在同时使得热字串从默认模式变为 原文模式。留意上面的文字,Enter和Tab都不会被认为是按键指令,要撤销这一设置的唯一一个方法是在每一个有延续部分的热字串中使用 r0 选项。注意热字串输出的语句是不直接支持中

55、文的,不过也可换个思路,借助clipboard命令赋予剪贴板自定义的文字,然后通过发送Ctrl+V的方法来输出中文,例如::sbs:clipboard = 顺便说一下Send, vReturn目前类似%MyVar%这样的变量参数不支持在替换文本中使用。要使用它们就不能把热字串设为自动扩展而是在缩写词之下使用 发送(Send) 命令并用一行Return接上。内建变量 A_EndChar 就是那些用以触发最近的非自动扩展类的热字串的结束符。如果不需要结束符来触发(*选项的作用),那么它的值为空。此变量对于那些使用发送(Send)命令的热字串或那些键入不同结束符而有不同行为的热字串来说比较有用。要发

56、送结束符自身,需要使用SendRaw %A_EndChar%(之所以使用 SendRaw(发送原文) 是因为类似 ! 这样的字符不能通过普通的发送(Send)命令正确发送。尽管在热字串定义式中的逗号、百分比符号和单冒号不需要进行 转码 ,但是那些有空格和空位(Tab)在其左边的重音符和分号就需要换码。请查看 换码序列 获得详细的列表。尽管 发送(Send)命令的语法 被支持用在自动扩展文本部分(除非用了原文(raw)选项),但热字串的缩写词本身不能用它来表示。也就是说,在缩写词里不用ENTER来表示回车键或用SPACE来表示空格键。取而代之的方法是使用 n 来表示回车以及用 t 来表示跳格(T

57、ab)(请查看 换码序列 获得详细的列表)。 下面举个例子说明::*:okENTER:no problem ; 键入ok再加一个回车键不能触发热字串,除非键入完整的okENTER。:*:okn:no problem ; 键入ok再加一个回车键即可触发热字串。热字串定义了空格和空位(Tab)将被直接认作是字符本身,例如下面的热字串将产生两种不同的结果::btw:by the way:btw: by the way ; 比上面多了一个空格,那么这个空格也会严格地输出来。热字串的缩写词不可以超过30个字符。如果长度超出了程序会提醒您的。热字串的替换文本也有AutoHotkey最大行数的限制,但它最多

58、可以达到16,383个字符。不过也可以通过一个巧妙的方法来突破这一限制,那就是在热字串中使用 Send %自定义变量% 。 例如您可以预先设置自定义变量并赋值为超过限制部分的字符,然后在热字串中调用即可。热字串的先后顺序决定了它们的优先级,换句话来说就是如果有超过一个的热字串符合用户键入的内容,则只有排在最前面的那个热字串才会生效。运行脚本时用户进行的任何退格行为都将被视为企图核对热字串。但是,如果用户在编辑器中使用了上/下/左/右箭头、PageUp、PageDown、Home和End这些按键时将导致热字串识别重设,也就是说消除对这一次键入内容的识别并等待新的热字串。即使处于激活状态的窗口忽略用户的键击行为热字串也依然可以输入,也就是说就算替换文本不可见热字串还是会被触发

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!