[计算机软件及应用]第一次亲密接触AutoHotkey.doc
第一次亲密接触AutoHotkey 原 我认识AutoHotkey这款软件应该算是偶然吧,那是一个月前我的舍友让我帮他们重装系统,于是我就上网下载了些XP光盘并帮他们安装系统(说起XP光盘我可是用过不少哦!)在使用这些光盘的时候,我发现它们很有意思,特别是那些集成补丁和软件的、有启动界面的、有自动安装功能的光盘,让我马上产生要研究一番的冲动。网上流传的一些系统光盘里面会有软件安装管理器,这是由YangHaiJun写的一个程序,它可以在系统安装完毕后执行并提供用户一个界面以选择需要的常用软件、补丁和优化功能,相信很多人都见过。其界面如下图: 让我觉得最有意思的是它安装软件时的全自动化,完全不需要用户操作即可安装软件,连使用注册机注册软件都是自动的,第一次见真的感觉有点神奇呢!于是我就开始研究它的制作方法,查看一下自动安装程序的软件描述,很快就发现它是用了AutoIt来编的。接着就搜索了一下相关资料,再接着就是研究&研究,在此同时我还发现有个同类型的软件,叫AutoHotkey,它和AutoIt差不多,但它有录制动作并写成脚本的功能,于是我转而研究AutoHotkey。看看关于它的介绍可以有个初步了解: AutoHotkey是简易而功能强大的热键脚本语言。使用者可将键盘、鼠标甚至游戏摇杆的移动和点击动作记录下来。比较特别的一点是:AutoHotkey具备一个脚本编译器,当你用Record记录完成后,可以转换(Convert)功能将脚本转换成EXE可执行文件,这是非常有用的功能。 如果你能熟练地用好这款免费且开放源代码的工具,你的工作效率将大大提升。 目前AutoHotkey的最新版本是1.0.36.02,可到其官方网站 点击此处下载安装程序 点击此处下载压缩包(不需安装) 如果你曾经安装过旧的版本,不需要卸载即可更新到新版本。如此强大而且又是免费的软件我怎会错过?不过目前网上没有帮助文档的汉化版本,所以英语是不得不学啊!第一次亲密接触AutoHotkey 续 原安装AutoHotkey后右键菜单会多了一些命令,如新建 AutoHotkey Script命令,这将新建一个ahk文件。同时AutoHotkey还关联了*.ahk文件,直接双击它将运行脚本,在其上点右键会有关联命令菜单。如下图,从上至下分别是运行脚本、编译脚本和编辑脚本的命令。点击“Edit Script”,将会用记事本来打开脚本以供编辑。要学习使用AutoHotkey,它的帮助文档是必看的,里面非常详细地说明了使用方法,好多英文啊我的第一个作品就是仿照它的帮助说明做的,绑定Win+Z为打开浏览器并登陆百度主页的快捷键的脚本:#z:Run 运行此脚本后,在系统托盘上可看到一个H图标,说明正在运行脚本,此时按下快捷键Win+Z,预想马上实现,多么令人兴奋的一刻!说明:#代表Win键,所以#z就是按下Win+Z键的意思,:后面的内容为此快捷键定义的命令。当然还有其他按键定义,如!对应Alt, 对应Control,+对应Shift等等, 帮助文档里面有详细说明。使用AutoHotkey运行并控制软件 原 AutoHotkey的功能当然不会只是定义快捷键这么简单了,我最想知道的就是怎样利用它来控制软件的安装,从而达到自动安装软件的目的。1.打开记事本run, Notepad看看上面的脚本,简单吧?其实就像Windows里面开始运行输入的命令,看来只要“运行”命令可以运行的系统程序都可以哦!点击此处查看开始运行输入的命令集锦2.运行QQ的安装程序要运行QQ的安装程序,需要指定QQ的位置,假设为 D:qqsetup.exe ,那么脚本就是Run, D:qqsetup.exe其实最好就是在D:qq 文件夹下新建一个脚本,那么脚本中就不需要指定路径了:Run, setup.exe3.更进一步,开始控制程序运行安装程序后当然是想办法控制程序安装啦,运行QQ2005 Beta2 珊瑚虫版的安装程序后,出现如下界面: “下一步”按钮应该如何控制呢?试一试下面的脚本吧:Run, setup.exeSend, ENTER就是这么简单,当然,还可以用快捷键的,例如“下一步”的快捷键是ALT+N,那么理论上只要发出按下ALT加N然后放开ALT键的命令即可,那么试试吧:Run, setup.exeSend, ALTDOWNnALTUP结果却失败了,因为QQ的安装程序未被激活(这里指它不是当前窗口,在Windows里最前窗口为当前工作窗口)查看帮助文档,发现果然有相关命令如WinWait、IfWinNotActive、WinActivate、WinWaitActive等,然后修改上面的脚本,最后修改成功,如下:Run, setup.exeWinWait, 腾讯 QQ2005 Beta2 珊瑚虫版 安装, IfWinNotActive, 腾讯 QQ2005 Beta2 珊瑚虫版 安装, , WinActivate, 腾讯 QQ2005 Beta2 珊瑚虫版 安装, WinWaitActive, 腾讯 QQ2005 Beta2 珊瑚虫版 安装, Send, ALTDOWNnALTUP说明(按行说明): 1.运行安装程序; 2.WinWait,等待指定窗口;命令格式:WinWait, 窗口标题, 窗口文字, 等待/超时时间(秒), 排除指定的窗口标题, 排除指定的窗口文字 窗口标题很好理解,在这里就是指QQ安装程序窗口的标题“腾讯 QQ2005 Beta2 珊瑚虫版 安装”,至于怎样获得窗口的准确标题就需要利用AutoHotkey的Window Spy了:开始所有程序AutoHotkeyAutoIt3 Window Spy 运行Window Spy后再运行QQ安装程序,即可在Window Spy看到所需窗口标题,鼠标移动还可以获得窗口任意位置的坐标和经过的控件类名以及文本等等,如图: 3.IfWinActive/IfWinNotActive,检查指定窗口是否存在并且已被激活;命令格式和WinWait一样。 4.WinWaitActive,等待指定窗口直到其被激活;开始运行输入的命令集锦 转 calc-启动计算器 certmgr.msc-证书管理实用程序 charmap-启动字符映射表 chkdsk.exe-Chkdsk磁盘检查ciadv.msc-索引服务程序 cleanmgr-垃圾整理 cliconfg-SQL SERVER 客户端网络实用程序 Clipbrd-剪贴板查看器 cmd.exe-CMD命令提示符 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-注销命令 lusrmgr.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-网络管理的工具向导 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-组策略结果集 secpol.msc-本地安全策略 services.msc-本地服务设置 sfc /scannow-windows文件保护 sfc.exe-系统文件检查器 shrpubw-创建共享文件夹 sigverif-文件签名验证程序 sndrec32-录音机 Sndvol32-音量控制程序 syncapp-创建一个公文包 sysedit-系统配置编辑器 syskey-系统加密,一旦加密就不能解开,保护windows xp系统的双重密码 taskmgr-任务管理器 tourstart-xp简介(安装完成后出现的漫游xp程序) tsshutdn-60秒倒计时关机命令 utilman-辅助工具管理器 wiaacmgr-扫描仪和照相机向导 winchat-XP自带局域网聊天 winmsd-系统信息 winver-检查Windows版本 wmimgmt.msc-打开windows管理体系结构(WMI) write-写字板 wscript-windows脚本宿主设置 wupdmgr-windows更新程序 用AutoHotkey编辑注册表与对话框原 在AutoHotkey中可编辑注册表的相关命令有RegRead, RegWrite, RegDelete和Registry-loop,命令在帮助文档里有详细说明及实例。经常用到的是下面前三个,其命令格式为:RegRead, 输出变量, 主键名, 子键名 , 键项RegWrite, 数据类型, 主键名, 子键名 , 键项, 数值RegDelete, 主键名, 子键名 , 键项MsgBox用来显示简单的对话框,可配合IfMsgBox命令设置按钮反应,其命令格式为:MsgBox , 选项, 对话框标题, 对话框信息文本, 超时时间其中“选项”用以设置对话框种类及按钮布局,默认为零。一个例子:读取操作:获取系统版本号(以XP为例)键名:HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersion操作:读取字符串"BuildLab"的数值数据并在对话框中显示写入操作:调整WINXP启动时Chkdsk的等待时间键名:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetControlSession Manager操作:修改DWORD值"AutoChkTimeOut",设置键值为"1",使得Chkdsk的等待时间为一秒,在对话框中提供确认,设置错误提示。删除操作:假设存在子键HKEY_LOCAL_MACHINESOFTWAREtest,删除此子键键名:HKEY_LOCAL_MACHINESOFTWAREtest操作:删除此子键,在对话框中提供确认,设置错误提示。大概的思路就是这样了,下面是完整的脚本(分号后面是解释):RegRead, OutputVar, HKEY_LOCAL_MACHINE, SOFTWAREMicrosoftWindows NTCurrentVersion, BuildLabMsgBox, 0, 系统版本号, 你的系统版本号是: %OutputVar% 设置BuildLab数值为变量名OutputVar并在对话框中显示。MsgBox, 4, 修改确认, 确认修改指定注册表项目? 询问是否进行操作 IfMsgBox, Yes RegWrite, REG_DWORD, HKEY_LOCAL_MACHINE, SYSTEMCurrentControlSetControlSession Manager, AutoChkTimeOut, 1 如果Yes按钮被按下则进行指定操作 If ErrorLevel MsgBox, 0, 错误, 无法进行指定操作 出现错误则提示用户MsgBox, 4, 修改确认, 确认删除指定注册表项目? IfMsgBox, Yes RegDelete, HKEY_LOCAL_MACHINE, SOFTWAREtest, IfMsgBox, No Return If ErrorLevel MsgBox, 0, 错误, 无法进行指定操作 闲着也是闲着,翻译一下AutoHotkey的帮助文档 哈哈,发现自己的英语没有过关啊,马上找大学英语来看看先不过这翻译量也太大了,寒自己玩玩,哈哈,中文的看起来多了!*介绍AutoHotkey 是一款免费的、Windows平台下开放源代码的热键脚本语言。有了它,您就可以:· 通过发送键盘或鼠标的键击动作命令来实现几乎所有操作的自动化。您可以自己编写 宏 或者使用宏录制器来生成; · 为键盘,游戏操纵杆和鼠标创建 热键。 事实上任何的按键、按钮或组合键都可以被设置为热键; · 当键入您自定义的缩写时可以 扩展缩写。例如, 键入“btw”就可以自动扩展为“by the way”; · 创建自定义的数据输入表格、用户界面、菜单等。详情请看 图形界面 部分; · 映射 键盘、游戏操纵杆和鼠标上的按键或按钮; · 运行现有的AutoIt v2脚本 并运用 新功能 来增强它们; · 将脚本文件转换成EXE可执行文件,使得程序在没有安装AutoHotkey的机器上得以运行。 学习AutoHotkey可能比你想象的还要容易。马上看看 菜鸟指南 吧!更多关于热键的说明AutoHotkey 可令键盘、游戏操纵杆和鼠标的所有潜能都发挥出来。例如,除了典型的Control、Alt和Shift键之外,你还可以定义Win键(徽标键)和Capslock键作为调节键。 而实际上你还可以设置任意的键盘按键或鼠标按键作为调节键。详细内容请看 高级热键 部分。其他功能· 调节音量、设置静音,以及其他 关于声卡的设置; · 令指定窗口变为 透明,顶层窗口,或改变 外形; · 用 游戏操纵杆 或 键盘 代替鼠标; · 监控 您的系统。例如,当您不希望见到的窗口出现时自动关闭它们; · 获取并改变 剪贴板的内容, 包括从资源管理器中复制的文件的名称; · 关闭或屏蔽 Windows自有的快捷键,例如Win+E和Win+R; · 取替Alt-Tab (通过按键、鼠标滚轮或按钮)从而减轻RSI(肢体重复性劳损 ); · 使用您喜欢的图标、工具提示(ToolTip)、菜单项目和子菜单来自定义 托盘图标菜单 ; · 显示 对话框、工具提示(Tooltips)、气球提示 以及 弹出菜单,与用户交互; · 执行脚本动作来 响应 系统关闭或注销; · 检测系统 空闲时间。例如, 在系统空闲的时候执行高CPU负荷的任务; · 通过检测 图像 和 象素色彩来自动执行游戏中的动作; · 读取、写入 以及 解释 文本文件比起其他语言更容易; · 针对一组与 通配符 匹配的文件进行操作; · 可对 注册表 和 INI文件 进行操作。 在 Windows 95/98/Me 下的一些限制:一些 高级特性 - 例如鼠标热键和 热键串 - 在Win9x 平台将失效。特别鸣谢在此特别感谢 Jonathan Bennett,这家伙于1999年把AutoIt v2作为免费软件慷慨地发布出来,使AutoIt v2成为我自己以及世界上所有用户获得灵感和节省时间的工具。另外,AutoHotkey许多针对AutoIt v2指令集的增强功能,如Window Spy和脚本编译器都是直接根据AutoIt v3 的源代码改写的。所以在此感谢Jon以及其他AutoIt的开发人员。 最后,我想要说的是:如果没有 这些高手 的帮助,AutoHotkey 就不会走到现在创建键盘或鼠标宏指令 原 这个是帮助文档里“Creating a Keyboard Macro or Mouse Macro”部分的内容,哈哈,比较少东西我就拿它下手了链接不作修改.*所谓宏是指一系列按人的需求进行的的脚本动作。最常使用的宏就是对一个或多个指定窗口发出一系列 模拟键击 和 鼠标点击 命令,这些窗口将会对宏所发出的每一个键击或点击命令作出相应反应,实际效果就如用户真的进行相应操作一样,这样就可以迅速而轻松地实现自动完成各种繁重而又重复的操作了。当然您可以自己手写宏,不过您会发现有了脚本录制器(AutoScriptWriter)的帮助,写更复杂的宏将变得简单。脚本录制器就是一个宏录制器,AutoHotkey就有附带(开始菜单所有程序AutoHotkeyAutoScriptWriter)。它就想一个摄影机一样记录键盘和鼠标动作,还可以获得窗口的 激活状态,然后就可以把这一系列的动作转换为可供以后迅速“回放”的宏(脚本文件)。要进行“回放”,最方便的一种方法是把指定的宏绑定到一个 热键 或 热键串。例如,下面这个热键将会创建一个空白邮件并进行相关设置:!s: ; 设定Control+Alt+S为热键,按下后将进行下面的操作IfWinNotExist, Inbox - Microsoft Outlookreturn ; 如果Outlook的收件箱窗口未被打开,则不进行任何操作,返回WinActivate ; 激活上面命令中指定的窗口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 ; 此行用以表示热键结束类似上面的热键宏对那些您每天都要重复进行的操作尤其有用。你可以把有用的脚本放到开始菜单或桌面方便使用。要马上开始创建您自己的宏和热键,请阅读 菜鸟指南 。 热键 (鼠标, 游戏操纵杆和键盘快捷键) 原 还是无聊之中这个暑假好热啊还是呆在家里混比较好既然没事,我继续搞搞这个所谓的翻译,哈哈,全是靠自己的理解翻译的,现在翻译的速度比之前的快多了,看来这样可以学会很多这些专业词汇呢(包括按自己理解写的)不过我还是挺高兴的,毕竟我自己看还是可以看懂的呢!里面的链接我就不改了,省时*热键,也就是快捷键,可以用来触发某些指定的动作(例如运行一些程序或 宏指令)。下面这个例子中Win+N被设置为运行记事本的一个快捷键,井号#代表Win键(徽标键):#n:Run Notepad ;“开始运行”中可运行的程序都可以使用,其他程序需要指定路径return上面的最后一行的"return" 用以表示此热键的结束。不过,如果此热键只需要处理一行命令的话,那一行命令就可以放到双冒号的右边(不需要空格),换句话来说就是 return 可以省略了:#n:Run Notepad要使一个热键有更多调节键,只需把它们连续列出即可。下面这个例子中 ! 表示Control+Alt:!s:MsgBox 您按了Ctrl+Alt+S.return值得注意的是,和其它常用的热键一样,它们是有一个先后顺序的,例如上面的例子中,如果先按下S键然后才按Control和Alt将不能触发热键。举个例子来说,我们用Ctrl+Alt+Del来调出Windows任务管理器,同样也是有个顺序的,您可以自己实践一下,以下不再说明。您可以使用下列调节键来定义热键:符号相关描述#Win (徽标键) !AltControl+Shift&&可用在两个按键(包括鼠标按键)之间来组合它们成为一个自定义的热键。详细说明请看 下面。<使用成对按键(如Alt、Ctrl、Win)中左边的一个。例如<!a 和 !a 差不多,但是<!a是只有当按下左边的那个Alt时才会触发热键。此功能不支持Windows 95/98/ME。>使用成对按键(如Alt、Ctrl、Win)中右边的一个。同上,此功能不支持 Windows 95/98/ME。<>!AltGr。如果您的键盘布局中AltGr键代替了右边的Alt键,这一系列的符号就是用来表示AltGr键的(仅支持Windows NT/2k/XP或更高级版本)。例如:<>!m:MsgBox 您按了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。如果自定义的热键和系统/程序原有的热键相同,则这些热键同时触发。在以下的两个例子里,当用户按下鼠标右键后,自定义的热键功能和系统/程序原有的右键菜单将同时触发:RButton:MsgBox 您按下了鼠标右键RButton & C:MsgBox 您按下了C键和鼠标右键 需要说明的是:在上面的例子中若没有(即RButton)则将屏蔽原有的右键菜单,另外,一些专门用来代替 alt-tab 的按键将总是忽略这一设置,此功能不支持Windows 95/98/ME。此符号只有当脚本使用 发送(Send) 命令发送的按键正好包含有热键本身的时候才会用到。在不同的系统上使用前缀运行起来会有一些变化:在Windows NT4/2k/XP 或更高级版本:将强制使用 键盘钩子(keyboard hook) 来执行热键。它的副作用就是阻止了 发送(Send) 命令触发热键。使用 前缀与使用指定的 #UseHook 等效。在Windows 95/98/Me 以及AutoHotkey v1.0.23以上: 在其 线程(thread) 的执行过程中热键将失效,此后才重新生效。它的副作用是就算 #MaxThreadsPerHotkey 被设置为大于1也跟设置为1一样。UPUP通常写在一个按键名后面,用来表示当某按键被松开后触发热键而不是在其被按下后。下面的例子把左边的Win键映射(替换)成左边的Control键:*LWin:Send LControl Down*LWin Up:Send LControl 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 命令转到指定的标记,也可以定义多个热键标记到相同的子程序,例如:Numpad0:Numpad1:MsgBox 按下Control+Numpad0或Control+Numpad1都会显示此信息。return如果一个热键没有定义任何动作,则这个按键或组合键将被屏蔽。下面的这个例子就屏蔽了右边的Win键:RWin:return仅在Windows NT, 2K, XP及其上平台有效的功能:您可以使用" & "连接两个按键来自定义一个组合热键。在下面的这个例子里,您可以按着小键盘上的0然后再按下1来触发热键:Numpad0 & Numpad1:Run NotepadNumpad0 & Numpad2:Run Calc在上面的例子里,Numpad0 是个前缀按键。正如下面的这个例子一样,前缀按键也可以设定其自己的动作,但只有当按键被松开的时候才被触发,而且在按下按键的时候不会更改任何热键:Numpad0:WinMaximize A ; 最大化激活窗口。滚动鼠标滚轮(向上滚动或向下滚动)可以被定义为热键,例子:MButton & WheelDown:MsgBox 您按着鼠标中键同时向下滚动了滚轮。!WheelUp:MsgBox 您按着Control+Alt同时向上滚动了鼠标滚轮。还有一个功能是控制Numlock,Capslock,或Scrolllock这些键,使其保持开着或关闭的状态。例如:SetNumlockState, 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类似地,只用鼠标也完全可以取替Alt-Tab,像下面一样,按下中键将显示切换界面,然后滚动鼠标滚轮即可进行切换,再次按下中键即可切换到选定窗口并退出切换界面:MButton:AltTabMenuWheelDown:AltTabWheelUp:ShiftAltTab如果您要用右手在键盘上切换(代替alt-tab),比较方便的方法是这样:RControl & RShift:AltTab ; 按住右边的Ctrl键和Shift键来切换RControl & Enter:ShiftAltTab ; 按住右边的Ctrl键和回车键来切换()The other Alt-tab actions available are:1) AltTabAndMenu: 如果存在切换界面则向右切换,否则显示切换界面。2) AltTabMenuDismiss: 关闭切换界面。现在您该知道以上所有关于Alt-tab的命令都必须像上面的例子一样分配给热键,否则它们将无效。注意由于Numlock键有开启/关闭两种状态,使得每个小键盘上的按键可在不同状态下触发两个不同的热键。当然,也可以把它们设置为触发同一个热键而不管Numlock的状态如何:NumpadEnd:Numpad1:MsgBox, 热键将忽略Numlock的状态而触发return如果()结合前缀按键使用过一次,则含有那个前缀按键的热键都会向激活窗口发送前缀按键的动作。例如在下面的例子里,鼠标右键(RButton)就是前缀按键,上面的第一行命令规定了在按着鼠标右键的同时按下左键将触发热键而显示对话框,而且由于的存在,右键命令也同时触发(例如显示右键菜单,如果有的话);需要注意的是第二行的命令规定了在按着鼠标右键的同时往上滚动鼠标滚轮将触发热键而显示对话框,而且由于没有,右键命令将被屏蔽(例如屏蔽右键菜单) ,然而当此脚本执行的时候,右键命令依然会触发(例如不该出现的右键菜单出现了),因此需要特别注意这一点。 RButton & LButton:MsgBox 您按着右键同时按下了左键。RButton & WheelUp:MsgBox 您按着右键同时往上滚动了鼠标滚轮。中断 命令可以临时关闭除了指定热键以外的所有热键。在脚本运行的过程中,热键可以通过 Hotkey 命令动态地创建。Hotkey命令还可以修改、关闭或开启脚本中已有的热键。游戏操纵杆热键目前不支持像 (Control)和# (Win)这样的调节键前缀。不过,您可以使用 GetKeyState 来模拟它的效果,如下面这个例子:Joy2:GetKeyState, ControlState, Controlif ControlState <> D ;在这里D表示按键被按下return ; 表明如果按钮未被按下则没有动作MsgBox 您按着Control键同时按下了游戏操纵杆的第二个按钮。return这个程序有点类似 多线程, 它允许在前一个热键子程序仍在运行的时候运行新的热键,例如上面有一个热键被触发并显示 对话框(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。运行后可看到一个蓝色的主界面和一个GUI助手(GUI Helper)在一侧,如图1所示。在主界面上点击右键就会显示相关命令,其中Add XXX那一列就是用来创建控件的(如图2所示)。选中后会立即在主界面上显示一个控件,此时控件左上角依附着鼠标,移动控件到合适的位置点击一次则鼠标自动跳到控件右下角,然后移动鼠标调整控件大小并再次点击则控件创建完毕。最后在目标控件上点击右键将显示相关命令,自上而下分别是复制控件、移动、定位、删除、修改标识、水平居中、垂直居中、对齐(左/中/右)等命令。由于默认设置了显示网格并自动对齐网格,因此若想对控件位置进行更加精细的调整,在右键菜单的“Options”中“MicroEditing”即可。 使用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帮助文档结合实际使用很快就可以了解它们的具体意义。在它的右键菜单中还有个比较有趣的功能,就是“GUI Stealer(偷窃者)”(留意图2)选中它后会提示你激活你想要“偷窃”的窗口,按下F12进行偷窃或按Esc退出。成功后会看到主窗口上居然把那窗口的界面(包括菜单、按钮、文本等控件)“复制”过来了!挺有趣的功能哦_不过它也不是个“神偷”,对很多的窗口它也是无能为力的哦,可惜可热字串和自动扩展 原 这次翻译不太好搞,例如那个Tab,我就考虑了