




已阅读5页,还剩21页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
小鸟学AHK(1)之运行程序或打开文档2008-06-27 01:33AHK就是AutoHotKey,是一款免费的、Windows平台下开放源代码的热键脚本语言。亲爱的朋友,叫我怎么向你推荐它呢!COOL,对,就是酷,那么多干巴巴的介绍我不想COPY,如果你掌握了它,哪怕只是会一点点,也足够你炫耀了.比你身边所谓的电脑高手还要风光.这个理由够了吧?那么AHK能做什么呢?对不起,我说不清楚,因为我也是小鸟,你正在看的垃圾本来就是本小鸟的学习笔记而已.但我可以肯定的一点是,你这个人能做的事它都能做,你所有在电脑里的行为除了人类主观的部分它都可以替你完成得更快更好.而这也只是它初级的部分.更厉害的是它可以做程序,甚至可以做病毒(听说的)慢着别走,我知道你不想学编程,我也不想,AHK绝对不会拒绝你我这样的懒人的.它其实非常简单,非常容易非常的.cool!只要你有一点点分析问题的逻辑推理能力就能上手.当然,要达到高级的境界还是应该有一些编程基础的.写批处理的能力就完全够了.我一向认为男人至少要擅长一项运动,一种乐器,一种编程.和拿手的几个小炒.什么?你不是男人?OK,把照片和电话发给我.其实我也不合格因为我还不会什么乐器,扯远了.总之你不会后悔的.知道那些会做图做网页甚至会给别人下木马的骇客们有什么感觉么,对,很爽的一种控制与创造的感觉,一个男人如果没有体会到这种感觉,多遗憾!先说这么多,先介绍一些AHK的基础知识,用过热键启动程序的软件么?我们今天来实现它.AutoHotKey(安装版下载|绿色版,下文都简称为 AHK)。第一次下载 AHK 的朋友建议下载安装版,以后升级的话,下载绿色版,然后覆盖到 AHK 的安装目录。下载安装版的好处是:系统会自动关联 .ahk 文件。在AHK目录里建立AutoHotKey.ini文件,用记事本打开输入代码,然后运行AHK程序就可以实现这些代码的功能.1运行程序或打开文档Run(运行)命令用来运行或打开程序、文档、网址(URL)或快捷方式,例如:Run, NotepadRun, C:My DocumentsAddress List.docRun, Run, C:My DocumentsMy Shortcut.lnkRun, mailto:上面例子中的命令都可以指配给含有 热键标识(hotkey label) 的热键。在下面的第一个例子里,被指配的热键是Win+N,而第二个是Control+Alt+C:#n:Run, Notepad!c:Run, calc.exe上面的例子都属于单行热键,因为它们都只是由一个命令组成。如果需要热键执行更多的命令,就要把第一行命令放到热键定义式的下面,并且使最后一行为 return(返回)。例如:#n:Run, Run, Notepad.exereturn上面的Notepad.exe(记事本)、calc.exe(计算器)等都是系统程序,如果要运行非系统程序则需要指定它的完整路径:Run, %ProgramFiles%WinampWinamp.exe在上面的例子中,%ProgramFiles% 是操作系统支持的 环境变量(environment variable)。之所以使用它而不是用像C:Program Files这样的路径,那是因为这样可使得脚本有更好的可移植性,就算别的电脑的系统不是在C盘也可以正确执行命令。如果希望脚本在程序或文档关闭后才继续执行下一步,那么就需要使用 RunWait(运行等待) 命令来代替Run命令。例如在下面的这个例子中,MsgBox(对话框)命令部分将不被执行,直到用户关闭了记事本之后才继续:RunWait, NotepadMsgBox, 任务完成(记事本已被关闭);弹出对话框提示任务完成.;后的文字是注释,对程序没有任务影响.小贴士 - Ctrl、Alt、Shift 在 AHK 怎么表示?WIN的符号是 #Ctrl 的符号是 Alt 的符号是 ! Shift 的符号是 + 如果你想按下“Ctrl + Alt + Shift + Win + Q”(这个快捷键真牛。- -b)来启动 QQ 的话,可以这样写:!+#q:run D:qqqq.exe快增加自己的快捷键吧,保存 AutoHotKey.ini 后,右击系统托盘那个 H 图标,选择“reload this script”重启 AHK,要注意,每次修改脚本后都要重启脚本。(除介绍部分主要来自AHK帮助文件)小鸟学AHK(2)之发送键击或点击动作2008-06-27 23:47关于按键精灵,我认为它很一般,虽然国内的支持率很高,使用者很多,有点地头蛇垄断的感觉.对于小鸟来说,按键精灵太弱了,要实现稍微复杂一点的功能就要借用让人头疼而且为数不多的C语言插件函数,那我还不如直接编程算了.如果AHK也支持CS-script,那按键精灵就完败了.据说AHK很快就支持了.当然对于我们小鸟来说,先不考虑这些也不用什么语言,AHK常用的命令就非常强大能做很多事,可以这么说,AHK的初级用户就相当于按键精灵的高级用户了.就内存占用来说,按键精灵也太大了,不适合做系统常驻程序,而AHK一般只有1到2M.我以前用按键精灵做过一些简单的事,比如在魔兽世界里练习附魔什么的,完全就是靠鼠标找点不停地来回点击,faint.现在已经完全放弃它.不过如果你有使用按键精灵的基础,相信会更容易理解和上手AHK的.闲话到此,今天我们的课程是发送键击或点击动作使用 Send(发送)命令来发送键击动作到激活窗口(指最前面的窗口)。在下面的这个例子里,Win+S 变成键入签名的热键。按下软件前必须确认窗口(例如编辑器或电子邮件草稿窗口)处于激活状态:#s:Send, Sincerely,enterJohn Smithreturn在上面的例子中,除了enter意外所有的字符都被逐字发送,因为enter模拟了回车键。下面的将举例说明一些其它常用的特殊字符:Send, c!tabpasted:v上面的例子将会发送Control+C(复制),然后是Alt+Tab(切换窗口),最后是发送字串“pasted:”并接上一个Control+V(粘贴)。鼠标点击: 对某个窗口发送点击动作需要测定点击位置的X轴和Y轴坐标。这可借助AutoHotkey附带的AutoScriptWriter或者Window Spy来实现。下面就是应用Window Spy的方法:运行Window Spy(从开始菜单或者在AutoHotkey的托盘图标上点击右键出现的菜单中可找到它); 通过点击目标窗口的标题栏、使用AltTab进行切换或者其他方法来激活窗口(Window Spy将一直是最上层窗口); 移动鼠标到目标窗口上需要进行点击的位置,记下此时Window Spy中显示的坐标值(或者按Shift-Alt-Tab来切换到Window Spy的窗口,它显示的坐标值将停止变化,因此可以方便用户复制和粘贴坐标值) 在 MouseClick(鼠标点击) 命令中使用上面获得的坐标值,例如:MouseClick, left, 112, 223 如果只需要移动鼠标而不用点击的话,请使用 MouseMove(鼠标移动)命令。要拖动鼠标,请使用 MouseClickDrag(鼠标拖动)命令。我现在用的一个登录代码:/d:Send, wildtoy Tab 123456 Enterreturn;你在百度登录框里只要输入/d,它就会把输入wildtoy,切换到密码输入框输入123456,最后回车,为什么要用/号呢,无论你用什么都行,你就是:aa:也可以,问题是你不想打字打到aa的时候突然变成自己的用户名和密码吧:/mail:;经常要输入电邮地址,电邮太长怎么办,像这样以后只要输入/mail回车或空格,就会变成电邮了.下面附上常用的一些按键列表鼠标(Windows NT/2000/XP或更高级版本)LButton - 鼠标左键RButton - 鼠标右键MButton - 鼠标中键或滚轮WheelDown - 鼠标滚轮向下滚动(向着身体的方向)WheelUp - 鼠标滚轮向上滚动以下定义仅支持Windows 2000/XP及更高级版本:XButton1 - 只有某些鼠标才会有这个按键XButton2 - 只有某些鼠标才会有这个按键键盘注意:单个字母键和数字键的名字就是它上面的符号,因此下面将不列出来,例如 b 就是代表 b键,而 5 就是5键Space - 空格键TabEnter (或 Return)Escape (或 Esc)Backspace (或 BS) - 退格键Delete (或Del)Insert (或 Ins)HomeEndPgUpPgDnUpDownLeftRightScrollLockCapsLockNumLockNumpadDiv - (小键盘上的)除号键/斜杠NumpadMult - (小键盘上的)乘号键/星号NumpadAdd - (小键盘上的)加号键NumpadSub - (小键盘上的)减号键NumpadEnter - (小键盘上的)回车键当Numlock的状态是关闭时:NumpadDelNumpadInsNumpadClear - 在大多数键盘上就是指Numpad5这个按键NumpadUpNumpadDownNumpadLeftNumpadRightNumpadHomeNumpadEndNumpadPgUpNumpadPgDn当Numlock的状态是打开时:Numpad0Numpad1Numpad2Numpad3Numpad4Numpad5Numpad6Numpad7Numpad8Numpad9NumpadDot - 小数点(句点)从 F1 到 F24 - 大多数键盘上面的那一排功能键AppsKey - 用来调用右键菜单的按键LWin - 左边的Win键(徽标键)RWin - 右边的Win键(徽标键)Control (或 Ctrl) AltShift注意: 在大多数情况下,下面这六个按键是不支持用在 Windows 95/98/Me系统上的,请使用上面列出的按键代替:LControl (或 LCtrl) - 左边的control键RControl (或RCtrl) - 右边的control键LShiftRShiftLAlt - 左边的Alt键RAlt - 注意:如果您的键盘布局是用了AltGr键而不是RAlt(即没有右边的Alt键),您可能就要通过 ! 这样的格式来令它变成热键前缀,详细说明请看 这里。此外,, LControl & RAlt: 将使得AltGr键本身变成热键。PrintScreenCtrlBreakPauseBreak小鸟学AHK(3)之创建脚本2008-07-03 18:25这几天补数据和找工作。主要还是因为看到了别的AHK爱好者的博客,受打击了。看来我还真的是鸟中鸟啊。到底继续不继续下去呢,反正也没人瞅,算是意志的锻炼吧今天我们讲创建脚本有人问了,装了软件学了前两课的代码了,往哪写啊,怎么实现功能啊,别急有三种方式:1.建个记事本文件,改扩展名为ahk,比如test.ahk ,用记事本软件打开编辑就行了。双击这个文件就可以运行,不过每运行一个脚本都会在托盘中多出一个图标。2.把test.ahk编译成exe文件,这样你就可以发给朋友了,打开 AHK 所在文件夹下的 Compiler 文件夹,双击里面的 Ahk2Exe.exe。然后依次浏览文件:要编译的 AHK 文件,编译后的 exe 文件名,编译后的 exe 要显示的图标。其他一般不用输入。如下图(呵呵没图,谁想看图说声我发上来)选择好后,点击 convert。3.打开 AHK 所在的文件夹,新建一个文本文件:AutoHotKey.ini。用记事本编辑,你可以把你所有的脚本都写在里面。总结:1和2会在右下角出现很多图标,晕哦哪个是哪个啊。3是很整洁了就一个文件实现所有功能,但若是代码很长很长那编辑起来也会很麻烦很麻烦。咋办呐?#Include 用这个,意思是载入文件,作用相当于把那个文件内容复制到当前位置比如我的AutoHotKey.ini里面的内容是#Include pm.ahk ; 同目录下闹钟代码#Include myahk/tc.ahk ; 同目录下的myahk目录下的total commander软件有关的代码#Include C:/game.ahk ;C盘根目录下的游戏中用的代码,这样是不是整洁多了,既保持了一个图标,也方便了每个脚本的编辑与整理,当然我建议还是集中放到一个目录下了今天的课很简单,但很重要哦如果有比我还菜的鸟,一定要在下面通知我,让我也高兴一下小鸟学AHK()之高级教程:热键2008-07-10 23:52有朋友问了一些热键和热字符串的高级用法,本来我是想给如我一般的菜鸟一个入门的介绍,既然问到了,不回答面子过不去,可是俺也不会啊回头恶补了一下,发现要写成简易的文字还真是难,因为原文已经非常简易了。只好原般照抄下来,关于热键和热字符串的简单用法看()就可以了,想深入系统学习的有志高手看下面吧。原文来自yonken翻译的AHK的帮助文档。下章发热字符串,很想快点过去这段,给大家发些应用的小脚本。别着急啊热键,也就是快捷键,可以用来触发某些指定的动作(例如运行一些程序或 宏指令(Macro)。下面这个例子中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 差不多,但是使用成对按键(如Alt、Ctrl、Win)中右边的一个。同上,此功能不支持 Windows 95/98/ME。!AltGr。如果您的键盘布局中AltGr键代替了右边的Alt键,这一系列的符号就是用来表示AltGr键的(仅支持Windows NT/2k/XP或更高级版本)。例如:!m:MsgBox 您按了AltGr+m.!m:MsgBox 您按了左边的Control+左边的Alt+m.*通配符:只要包含有指定调节键的按键被按下即触发热键,经常用在 映射(Remap) 按键或按钮的时候。例如:*#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 您按着右键同时往上滚动了鼠标滚轮。Suspend(中断) 命令可以临时关闭除了指定热键以外的所有热键。在脚本运行的过程中,热键可以通过 Hotkey(热键) 命令动态地创建。Hotkey命令还可以修改、关闭或开启脚本中已有的热键。游戏操纵杆热键目前不支持像 (Control)和# (Win)这样的调节键前缀。不过,您可以使用 GetKeyState 来模拟它的效果,如下面这个例子:Joy2:GetKeyState, ControlState, Controlif ControlState D ;在这里D表示按键被按下 return ; 表明如果按钮未被按下则没有动作MsgBox 您按着Control键同时按下了游戏操纵杆的第二个按钮。return这个程序有点类似 多线程, 它允许在前一个热键子程序仍在运行的时候运行新的热键,例如上面有一个热键被触发并显示 MsgBox(对话框),新的热键仍可以运行。小鸟学AHK()之高级教程:热字串和自动扩展2008-07-10 23:58下面很麻烦,简单的用法看()就可以了,其实就是两个双冒号之间插入缩写词,其后加上触发结果,扩展就是第一个双冒号间可以加参数改变具体的触发行为,高手您慢慢看(原文来自yonken翻译的AHK的帮助文档。热字串主要用来实现自动扩展,例如当你键入一些单词的缩写时自动扩展成完整词句,不过热字串也同样可以用来执行任何脚本动作,在这一方面它和 热键 类似,但它们由更多的字符组成,因此才被称为热字串。要定义一个热字串,只需要在两个双冒号之间插入缩写词,其后加上触发结果(替换文字)即可。例如::btw:by the way在上面的例子里,当键入btw这个缩写之后,再键入 结束符(ending character)即触发热字串,使其自动扩展为by the way。结束符可以是指空格、句号或回车(如果要直接触发热字串而不必键入结束符,可以使用 * 选项)注意:后面的语句不能是中文,否则会变成乱码! :( 若要使用中文语句,可参考下面的 方法:这个例子中热字串的作用就是自动地把btw删除然后替换为by the way从而实现所谓的自动扩展。另外,正如上面所说,热键串还可以用来定义其他动作,不过记住要把相关命令置于热键串之下::btw:MsgBox 您键入了btw。;键入btw及结束符将显示此对话框,而btw将被删除(请看下面的说明)return尽管上面的热字串不属于自动扩展的一类,但用户键入的缩写词仍会被自动删除,这是因为它的默认设置为自动发出退格命令。如有需要可以使用 b0 选项 来取消这一设置。结束符在默认状态下,用户必须在键入热字串的缩写词后再键入一个缩写词,使用 * 选项 即可免去这一步。结束符默认是指这些字符:-():;/,.?!n t (注意:n代表回车,t代表Tab,在n和 t之间还有一个空格)。您可以仿照下面的语句来更改这一设置:#Hotstring EndChars -():;/,.?!n t ;右边的所有字符串都被定义为结束符选项热字串的默认行为可以有两种方法改变:1. 使用 #Hotstring 命令,用它结合下面的选项进行的设置会影响到其下脚本中的所有热字串,例如:#Hotstring c r ; 区分大小写并且“发送原文”; 2. 在热字串的前两个冒号之间插入一个或多个选项,例如::c*:j: ; 区分大小写并且取消结束符(也就是说不用结束符即可触发热字串)。 注意:当使用超过一个选项(下面列出)的时候,空格键可被随意添加到这些选项之间(而不会有影响)。* (星号):不再需要结束符(例如空格和回车等等)来触发热字串。使用 *0 来恢复。在下面的例子里,当号一被按下即触发热字串从而自动扩展缩写::*:yk:? (问号):键入任何含有缩写词的词句都会触发热字串。举个例子,对于 :?:al:airline 这个热字串来说,键入含有“al”的“practical”这个单词将会生成“practicairline”(只是al被替换成了airline而不是整个单词,注意到了吗?)。 使用 ?0 (问号后面一个零)来恢复。B0 (B后面接一个零): 自动退格删除缩写词的功能将被禁止。取消此功能后若想恢复可使用 B 选项。C: 区分大小写:用户键入的缩写词必须和脚本中的严格一致(也就是说区分大小写)。使用 C0 (C后面接一个零)来取消此功能。注意:如果您需要为同一个缩写词分开定义为两个只有大小写格式不同的热字串的话,那么请在其中一个热字串的前两个冒号之间插入空格,用以和另外一个热字串区分。这样做是有必要的,因为热字串属于标识,而每个标识必须是唯一的。在下面的这个例子里,第一个热字串使用了一个额外的空格来与第二个区分::c :ceo:chief executive officer :c:CEO:Chief Executive OfficerC1: 取消匹配大小写。使用这个选项来使得那些自动扩展的热字串对大小写不再敏感(即输出结果将和热字串中定义的完全一致)。使用C0 来恢复。热字串默认状态下是匹配大小写的,如果用户键入的缩写词全部都是大写则输出的结果也全部大写;如果键入的第一个字母是大写则输出的第一个字母也会是大写;其他情况的输出结果将和热字串中定义的完全一致。下面针对此热字串:c :ceo:chief Executive officer来详细说明:若键入CEO加结束符则输出结果为CHIEF EXECUTIVE OFFICER(全部字母都大写);若键入Ceo/CEo/CeO等则输出结果为Chief Executive officer(也就是说只是第一个字母改为大写而已);其他格式的输出结果都是和热字串原来定义的一致,也就是chief Executive officer。Kn: 按键延迟;通常来说几乎所有使用自动退格和自动扩展功能的热字串的按键延迟都是0。设置为零是被推荐的,因为这样既迅速而又可以很好地配合其它进程(由于内部设置了 Sleep 0)。若需要设置延迟,则给变量 n 赋值即可。用 -1 来表示完全没有延迟,如果您的CPU经常性的处于重负荷状态的话,这会使自动扩展的速度加快。O: 当自动扩展的文字生成的时候省略结束符。这在你需要结束符来触发热字串而又不想让它输出到目标的时候非常有用。例如:通常我们是这样设置热字串的:ar:aristocrat,当键入“ar“和空格会输出“aristocrat ”(它画蛇填足地在后面添加了空格符);而当使用O选项后也即o:ar:aristocrat ,键入“ar”和空格会输出“aristocrat”,注意它是没有空格符在后面的。使用O0 (字母O后面接一个零)来恢复。Pn: 设置热字串的 优先级 (例如 P1)。此选项对实现自动扩展功能的热字串没有影响。R: 发送替换文字的原文。也就是说热字串将完全一致地输出原文而不会解释Enter或c这些特殊的字符串,从而避免那些有 延续部分(continuation section) 的热字串自动发出回车或Control-C等等命令, 使用 R0 (R后面接一个零)来恢复。Z v1.0.30+: 每触发一次热字串则重设一次热字串识别器。这里的意思是脚本将会在每次热字串触发后消除对前一次键入内容的识别并等待新的热字串。举个例子来说明一下,下面的热字串没有Z选项,所以键入111后热字串将会触发两次而不是一次::b0*?:11:Send xxreturn只要在b0前面插入一个Z,就必须键入1111而不是111来触发两次热字串。 使用 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 preserved. 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 选项。注意热字串输出的语句是不直接支持中文的,不过也可换个思路,借助clipboard命令赋予剪贴板自定义的文字,然后通过发送Ctrl+V的方法来输出中文,例如::sbs:clipboard = 顺便说一下Send, vReturn目前类似%MyVar%这样的变量参数不支持在替换文本中使用。要使用它们就不能把热字串设为自动扩展而是在缩写词之下使用 Send(发送) 命令并用一行Return接上。内建变量 A_EndChar 就是那些用以触发最近的非自动扩展类的热字串的结束符。如果不需要结束符来触发(*选项的作用),那么它的值为空。此变量对于那些使用发送(Send)命令的热字串或那些键入不同结束符而有不同行为的热字串来说比较有用。要发送结束符自身,需要使用SendRaw %A_EndChar%(之所以使用 SendRaw(发送原文) 是因为类似 ! 这样的字符不能通过普通的发送(Send)命令正确发送。尽管在热字串定义式中的逗号、百分比符号和单冒号不需要进行 转义,但是那些有空格和空位(Tab)在其左边的重音符和分号就需要转义。请查看 转义列表 获得详细的列表。尽管 Send(发送)命令的语法 被支持用在自动扩展文本部分(除非用了原文(raw)选项),但热字串的缩写词本身不能用它来表示。也就是说,在缩写词里不用ENTER来表示回车键或用SPACE来表示空格键。取而代之的方法是使用 n 来表示回车以及用 t 来表示跳格(Tab)(请查看 转义列表 获得详细的列表)。 下面举个例子说明::*:okENTER:no problem ; 键入ok再加一个回车键不能触发热字串,除非键入完整的okENTER。:*:okn:no problem ; 键入ok再加一个回车键即可触发热字串。热字串定义了空格和空位(Tab)将被直接认作是字符本身,例如下面的热字串将产生两种不同的结果::btw:by the way:btw: by the way ; 比上面多了一个空格,那么这个空格也会严格地输出来。热字串的缩写词不可以超过30个字符。如果长度超出了程序会提醒您的。热字串的替换文本也有AutoHotkey最大行数的限制,但它最多可以达到16,383个字符。不过也可以通过一个巧妙的方法来突破这一限制,那就是在热字串中使用 Send %自定义变量% 。 例如您可以预先设置自定义变量并赋值为超过限制部分的字符,然后在热字串中调用即可。热字串的先后顺序决定了它们的优先级,换句话来说就是如果有超过一个的热字串符合用户键入的内容,则只有排在最前面的那个热字串才会生效。运行脚本时用户进行的任何退格行为都将被视为企图核对热字串。但是,如果用户在编辑器中使用了上/下/左/右箭头、PageUp、PageDown、Home和End这些按键时将导致热字串识别重设,也就是说消除对这一次键入内容的识别并等待新的热字串。即使处于激活状态的窗口忽略用户的键击行为热字串也依然可以输入,也就是说就算替换文本不可见热字串还是会被触发。此外,退格键也还是会撤销最近的键击,尽管您看不到效果。可以使用 Gosub 或 Goto 来转到指定的热字串标识(Label), 只要在标识名前面加上一对冒号即可。不过,如果在冒号之间没有选项符则必须对双冒号进行转码。例如: Gosub :btw尽管热字串不被监控而且在不可见的 输入(Input) 命令生效期间将不会被触发,但可见的输入是可以触发它们的。热字串不会被AutoHotkey脚本发出的键击行为触发。这样避免了发生热字串反复触发导致无限循环的可能。在某些方面来说 输入(Input) 命令比热字串更加灵活。例如,它允许在激活窗口中键击的不可见(例如游戏)。它还支持像Escape键这样的非字符式结束键。所有包含热字串的脚本都将自动使用 键盘钩子(keyboard hook)。热字串和热键的相同反应: 它们都会受到 中断(Suspend) 命令的影响; 都服从 #MaxThreads 和 #MaxThreadsPerHotkey (除了#MaxThreadsBuffer)的设置; 含有热字串的脚本都将自动 持续(persistent); 非自动扩展类的热字串运行时将会创建新 线程(thread),此外它们还将更新内建的热键变量,例如 A_ThisHotkey 。 小鸟学AHK(6)之鼠标动作2008-08-27 09:32下面开始讲课,主要就一个命令,学好它基本就能实现简单的大部分行为了。认真听讲啊。click 30,40 right 2 r (1) (2) (3) (4)(1)坐标,可用函数如 %x%,%y%,省略则默认为当前位置。(坐标默认的是相对于当前窗口,不是屏幕,当然这个默认是可以改的,你要改么?嗯?你有这么厉害?那别看了)(2)right 右键,left左键,middle 中键,省略则默认left(3)鼠标行为: 数字表示点击次数:省略则默认为1;写0的话则表示移动鼠标(不点击再加上坐标当然是移动了,什么?你不加坐标?别逗电脑了); down为按下,up 为弹起,用这两个组合起来实现拖动。(4) r ,表示坐标是以当前鼠标位置为原点的相对坐标,省略则默认是绝对坐标,原点在哪?窗口左上角啊,前面刚说完。举例:click ;当前位置鼠标单击左键click 2 ;当前位置鼠标双击左键click 30,40 0 ;移动鼠标到30,40click 30,40 downclick 50,60 up ;这两行组合在一起即是拖动某东东高手进阶一,滚轮click wheelup 2 ; 滚轮向上滚2次,数字省略则默认为1次,如click wheeldown ; 滚轮向下滚一次. wheelup 可以写成WU,相对应的就是WD了。不过有些程序不认数字,所以最好采取兼容性更 高的循环法,如loop 5 click WD ; 向下滚5次二,sendmode模式是为了实现特殊点击,而且兼容性更高,要习惯多用这种模式哦,比如要实现ctrl+鼠标双击send click 100,200 2三,设置延迟和鼠标移动速度有时为了让观众能看清楚鼠标动作,有必要设置一下速度SetDefaultMouseSpeed 30; 默认的是2 ,可以从0调到100,越小越快,调0您的鼠标就是博尔特了每个鼠标动作结束之后,为了能让电脑反应过来做下个动作,默认都有个延迟,默认是10毫秒Set
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 药物研发伦理问题试题及答案
- 董事长秘书试题及答案
- 考生必读文化产业管理试题及答案
- 激光工程师需要掌握的技能列表试题及答案
- 激光技术工程师职业素养提升考题试题及答案
- 系统架构设计师考试团队协作技巧试题及答案
- 自学卫生管理的试题及答案
- 社交技能与心理健康的关系试题及答案
- 系统架构设计师考试模拟题解析试题及答案
- 药学发展对药师职业的影响2024年考试试题及答案
- 2024-2025学年统编版语文二年级下册 期中测试题(含答案)
- 辽宁省部分示范性高中2025届高三下学期4月模拟联合调研数学试题(无答案)
- 二零二五协警聘用合同范文
- 防雷安全知识培训课件
- 政务服务人员培训
- 宠物医院招聘课件
- 2024年山东司法警官职业学院招聘考试真题
- 2025建筑安全员C证考试(专职安全员)题库及答案
- 安全标识(教学设计)-2024-2025学年浙美版(2012)美术四年级下册
- 投标文件标书最全 (1)
- 危大专项检查表
评论
0/150
提交评论