您好,欢迎访问三七文档
小鸟学AHK(1)之运行程序或打开文档2008-06-2701: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:\MyDocuments\AddressList.docRun,:\MyDocuments\MyShortcut.lnkRun,mailto:someone@anywhere.com上面例子中的命令都可以指配给含有热键标识(hotkeylabel)的热键。在下面的第一个例子里,被指配的热键是Win+N,而第二个是Control+Alt+C:#n::Run,Notepad^!c::Run,calc.exe上面的例子都属于单行热键,因为它们都只是由一个命令组成。如果需要热键执行更多的命令,就要把第一行命令放到热键定义式的下面,并且使最后一行为return(返回)。例如:#n::Run,上面的Notepad.exe(记事本)、calc.exe(计算器)等都是系统程序,如果要运行非系统程序则需要指定它的完整路径:Run,%ProgramFiles%\Winamp\Winamp.exe在上面的例子中,%ProgramFiles%是操作系统支持的环境变量(environmentvariable)。之所以使用它而不是用像C:\ProgramFiles这样的路径,那是因为这样可使得脚本有更好的可移植性,就算别的电脑的系统不是在C盘也可以正确执行命令。如果希望脚本在程序或文档关闭后才继续执行下一步,那么就需要使用RunWait(运行等待)命令来代替Run命令。例如在下面的这个例子中,MsgBox(对话框)命令部分将不被执行,直到用户关闭了记事本之后才继续:RunWait,NotepadMsgBox,任务完成(记事本已被关闭);弹出对话框提示任务完成.;后的文字是注释,对程序没有任务影响.小贴士-Ctrl、Alt、Shift在AHK怎么表示?WIN的符号是#Ctrl的符号是^Alt的符号是!Shift的符号是+如果你想按下“Ctrl+Alt+Shift+Win+Q”(这个快捷键真牛×。--b)来启动QQ的话,可以这样写:^!+#q::runD:\qq\qq.exe快增加自己的快捷键吧,保存AutoHotKey.ini后,右击系统托盘那个H图标,选择“reloadthisscript”重启AHK,要注意,每次修改脚本后都要重启脚本。(除介绍部分主要来自AHK帮助文件)小鸟学AHK(2)之发送键击或点击动作2008-06-2723:47关于按键精灵,我认为它很一般,虽然国内的支持率很高,使用者很多,有点地头蛇垄断的感觉.对于小鸟来说,按键精灵太弱了,要实现稍微复杂一点的功能就要借用让人头疼而且为数不多的C语言插件函数,那我还不如直接编程算了.如果AHK也支持CS-script,那按键精灵就完败了.据说AHK很快就支持了.当然对于我们小鸟来说,先不考虑这些也不用什么语言,AHK常用的命令就非常强大能做很多事,可以这么说,AHK的初级用户就相当于按键精灵的高级用户了.就内存占用来说,按键精灵也太大了,不适合做系统常驻程序,而AHK一般只有1到2M.我以前用按键精灵做过一些简单的事,比如在魔兽世界里练习附魔什么的,完全就是靠鼠标找点不停地来回点击,faint.现在已经完全放弃它.不过如果你有使用按键精灵的基础,相信会更容易理解和上手AHK的.闲话到此,今天我们的课程是发送键击或点击动作使用Send(发送)命令来发送键击动作到激活窗口(指最前面的窗口)。在下面的这个例子里,Win+S变成键入签名的热键。按下软件前必须确认窗口(例如编辑器或电子邮件草稿窗口)处于激活状态:#s::Send,Sincerely,{enter}JohnSmithreturn在上面的例子中,除了{enter}意外所有的字符都被逐字发送,因为{enter}模拟了回车键。下面的将举例说明一些其它常用的特殊字符:Send,^c!{tab}pasted:^v上面的例子将会发送Control+C(复制),然后是Alt+Tab(切换窗口),最后是发送字串“pasted:”并接上一个Control+V(粘贴)。鼠标点击:对某个窗口发送点击动作需要测定点击位置的X轴和Y轴坐标。这可借助AutoHotkey附带的AutoScriptWriter或者WindowSpy来实现。下面就是应用WindowSpy的方法:运行WindowSpy(从开始菜单或者在AutoHotkey的托盘图标上点击右键出现的菜单中可找到它);通过点击目标窗口的标题栏、使用Alt+Tab进行切换或者其他方法来激活窗口(WindowSpy将一直是最上层窗口);移动鼠标到目标窗口上需要进行点击的位置,记下此时WindowSpy中显示的坐标值(或者按Shift-Alt-Tab来切换到WindowSpy的窗口,它显示的坐标值将停止变化,因此可以方便用户复制和粘贴坐标值)在MouseClick(鼠标点击)命令中使用上面获得的坐标值,例如:MouseClick,left,112,223如果只需要移动鼠标而不用点击的话,请使用MouseMove(鼠标移动)命令。要拖动鼠标,请使用MouseClickDrag(鼠标拖动)命令。我现在用的一个登录代码::/d::Send,wildtoy{Tab}123456{Enter}return;你在百度登录框里只要输入/d,它就会把输入wildtoy,切换到密码输入框输入123456,最后回车,为什么要用/号呢,无论你用什么都行,你就是::aa::也可以,问题是你不想打字打到aa的时候突然变成自己的用户名和密码吧::/mail::zhengwang79@gmail.com;经常要输入电邮地址,电邮太长怎么办,像这样以后只要输入/mail回车或空格,就会变成电邮了.下面附上常用的一些按键列表鼠标(WindowsNT/2000/XP或更高级版本)LButton-鼠标左键RButton-鼠标右键MButton-鼠标中键或滚轮WheelDown-鼠标滚轮向下滚动(向着身体的方向)WheelUp-鼠标滚轮向上滚动以下定义仅支持Windows2000/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注意:在大多数情况下,下面这六个按键是不支持用在Windows95/98/Me系统上的,请使用上面列出的按键代替:LControl(或LCtrl)-左边的control键RControl(或RCtrl)-右边的control键LShiftRShiftLAlt-左边的Alt键RAlt-注意:如果您的键盘布局是用了AltGr键而不是RAlt(即没有右边的Alt键),您可能就要通过^!这样的格式来令它变成热键前缀,详细说明请看这里。此外,,LControl&RAlt::将使得AltGr键本身变成热键。PrintScreenCtrlBreakPauseBreak小鸟学AHK(3)之创建脚本2008-07-0318: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里面的内容是#Includepm.ahk;同目录下闹钟代码#Includemyah
本文标题:小鸟学ahk
链接地址:https://www.777doc.com/doc-4549103 .html