AutoHdotkey 0级入门教程:让重复工作一键完成 (一些Autohotkey程序的简介)

来源:百度文库 编辑:神马文学网 时间:2024/05/02 03:29:42
http://blog.sina.com.cn/s/blog_46dac66f010005g7.html
AutoHotkey 0级入门教程:让重复工作一键完成 (2007-05-11 13:10:19)
作者:xbeta 版本:070511/060913 出自:善用佳软http://xbeta.info
AutoHotkey是一个神奇的工具。为了便于新人上手,xbeta写了此篇最最傻瓜的0级入门教程,并被PConline以《演绎段氏"凌波微步" AutoHotkey 0级入门教程》为题转载。
1 何为AutoHotkey
AutoHotkey是一个小工具软件,可以简化你的重复性工作。
比如要登录某论坛,你只要按一个键,AutoHotkey就会替你打开IE(推荐使用FireFox、Opera或Maxthon),输入网址,输入用户名和密码,回车。
你只要有想像力,它可以完成更多工作,参见AutoHotkey,让win+run如虎添翼,及tag:AutoHotkey。
2 下载及安装
下载:文件很小,仅1.6MB。见官网下载页,也有zip免安装版。
安装:按提示操作即可。我习惯上装在 d:\program files\AutoHotkey
第1屏是欢迎;点Next。
第2屏是版权声明;点I Agree。
第3屏是安装内容:如下图。建议选中前2项,不选第3项。

第4屏是安装目录:我的习惯是 D:\Program Files\AutoHotkey 可以看到,仅需要2.1MB的空间。强大的软件并不需要庞大的体积,能把软件做小是作者功力的体现,是对用户尊重的体现。
第5屏是安装成功提示:是否看readme。这个readme其实是它的帮助文件,写得很细。有耐心的就认真拜读,想成高手的必须要研读。(部分中文译本见http://yonken.yourfreewebspace.com/)
3 应用例1
如下图,打开你的文本编辑器(notepad、或gVIM),新建一个文件,把下两行内容复制进去。先保存到一个地方,比如 D:\Program Files\AutoHotkey\my\new.ahk

msgbox, 这是我的第一个AutoHotkey脚本 `n 我支持免费软件尊重版权
run, http://blog.sina.com.cn/m/xbeta
然后,就可以双击new.ahk看到效果了:
先弹出如下提醒

你确认后,就打开你的浏览器,来到了善用佳软blog。
解释一下:
所谓脚本,其实就是一个txt文件。
第1句:msgbox是一个命令(或称为函数),AutoHotkey见到它,就知道要弹出一个消息窗口了。后面的“这是我的……版权”是参数,在这里就是弹出消息的文字。其中的`n表示换行。中间用半角逗号分隔。
第2句:类似,函数是run,就是运行。后面的参数就是本blog网址。也就是说,AutoHotkey可以run一个程序,也可以run文档名(如 d:\freeware-list.txt),也可以run网址。
4 应用例2
把下述内容复制到new.ahk中
#0::
msgbox, 这是我的第一个AutoHotkey脚本 `n 我支持免费软件尊重版权
run,http://blog.sina.com.cn/m/xbeta
return
#1::
run,http://mail.163.com
WinActivate, Maxthon ;防止窗口不激活
winwait, 网易 ;等待网页加载成功(至少title显示出来)
sleep, 500 ;保险起见,再等0.5秒(视网速)
send, myid{tab}password{enter} ;模拟键入用户名、密码、回车
return
再运行……没反应了?
因为我们定义了2个热键,一是win+0,二是win+1,分别调用两段脚本,即分别访问善用佳软和登录163信箱。
从上面还可以看到几个新函数名称,详情见AutoHotkey的help。
注释和正式语句之间至少一个空格,用半角分号引导,这样有助于日后理解ahk文件,并不执行。
5 后记
0级教程就写到这里吧。
再进步,就需要多动手,多读help中的函数介绍了。
隆重推荐yonken兄《自动化操作轻松入门系列》文章,他致力于传播AutoHotkey和AutoIt,并精心翻译了大量原始文档。
我也会陆续写一些应用实例,如AutoHotkey|win run加它更方便,AutoIT3 vs AutoHotkey,AutoHotkey调用Irfanview把24位真彩图片优化到实际色深……请关注善用佳软相关栏目。
补:xbeta是用gVIM编辑ahk文件的,高亮效果如下:

※初稿060913,出处http://blog.sina.com.cn/u/46dac66f010005g7
http://chenqj.blogspot.com/2007/04/autohotkey.html
一些Autohotkey程序的简介
Autohotkey无疑是个很好的软件,至少它降低了一些编程的门槛,通过内置的函数让用户可以用比较简单的语言来控制鼠标和键盘,当然还有与之配套的各种函数及系统函数。
它的入门是很容易的,而且在大部分时间内,我们也经常只是用它来进行批处理或者简化按键,但是对于高手而言,它还有着更多的用途。
如何学好它,个人觉得它的帮助和它的论坛一定是最好的地方。在它的论坛上,有许许多多的高手共享出各种代码。如果我们真的有心去学好它的话,花一段时间浏览一次论坛标题,或者找几个好帖子好好研究是必要的。或者可以针对自己喜欢的几个意向,搜索一下论坛。比如我个人希望能有如下一些做法,比如利用它增加对Autocad的控制,如何更好的控制批处理程序的排队等。
下载了一大堆论坛的代码,茶余饭后慢慢研究。下面先翻译一点别人的程序简介,先放在记忆中,说不定哪天就有用了。毕竟每个代码都是作者的心得体会,许多我们不知道怎么用的语法也得通过实践来学习。翻译不对之处请指教。
NiftyWindows -- by Enovatic-Solutions:
这个脚本让用户可以进行更加方便的窗口操作,比如拖放,缩放,最大化等,它的特点是用右键拖放。
Screen Magnifier -- by Holomind:
屏幕放大器,可以定义刷新间隔,缩放级别;防锯齿.
LiveWindows: Watch Dialog-boxes in Thumbnail -- by Holomind:
动态查看下载、文件拷贝和其他一些带进度条的脚本,它会用一个很小的“总在最前”的窗口来显示这些进度。
Mouse Gestures -- by deguix:
鼠标手势:此脚本检测你在鼠标右键按下后的鼠标移动情况。如果它觉得你画了一个内定的手势时,会启动一个程序或者执行一个你定义的操作。
(我有点想看懂来试试怎么在autocad中加速操作)。
Context Sensitive Help in Any Editor -- by Rajat: 这个脚本定义热键“ctrl+2”的操作为——显示所选择 AutoHotkey 命令的帮助。如无指定,自动查找句首单词。
Easy Window Dragging (requires XP/2k/NT): 正常情况下,只有点击标题栏才可以拖动窗口,此脚本使得一切皆有可能:),可以是程序内的任何位置,使用时,先按下CapsLock键或者鼠标中键,然后就可以拖动了.
Easy Window Dragging -- KDE style (requires XP/2k/NT) -- by Jonny: 脚本使得移动窗口或者重新定义窗口的大小变得容易
1) 按ALT 键,左击窗口内任何位置,可以拖放到新位置。 2) 按ALT 键,右击窗口内任何位置,可以重新定义窗口的大小 3) 按ALT 键,别放开。左击最小化窗口,右击最大化,中击关闭。
Easy Access to Favorite Folders -- by Savage:
在某些可以指定目录的情况下,中击鼠标,会显示一个你最喜欢目录的菜单以便选择。比如1)打开文件或者关闭文件的情况;2)资源管理器窗口;3)命令行格式下。还有一些其他场合。
IntelliSense -- by Rajat (requires XP/2k/NT): 此脚本在你编辑Autohotkey脚本的时候进行监控,当它发现你打了一个Autohotkey命令的时候,会自动提示所需参数,不需要时,按ESC退出。还可以通过按ctrl+f1得到键入命令的帮助。
Using a Joystick as a Mouse: 把手柄变成三键鼠标。
Joystick Test Script: 检测手柄的按键数目和其他属性。它还可以知道手柄是否需要校准了。
On-Screen Keyboard (requires XP/2k/NT) -- by Jon: 屏幕上的键盘,可以实时看到所按下的键,作者说只是为了学习盲打:).
Minimize Window to Tray Menu: 把窗口隐藏到托盘(tray)。可以通过菜单反隐藏。如果程序退出,所有窗口变成无隐藏。
Changing MsgBox‘s Button Names: 一个测试脚本。可以改动各种默认对话框按键的内容,但是不影响其实际操作。(莫非是愚人节的作品,screenshot的主页也有一个这样的ahk,可以把一些按键临时删除的,比如计算器上的各个数字键,看来也是娱人用的)
Using Keyboard Numpad as a Mouse -- by deguix: 小键盘当鼠标用,可以支持到5键鼠标,可以自定义速度等等.
Seek -- by Phi: 在start 菜单中,从几百个安装程序选到所需程序实在是个恶梦,本脚本让你指定一个字母,而后它会自动过滤出符合条件的结果,方便选择。
ToolTip Mouse Menu (requires XP/2k/NT) -- by Rajat: 按中键一段时间后,会跳出一个菜单。会根据程序的不同,比如Notepad或者 Word有不同提示。(感觉这也是一个很好的功能,可以自定义一些东西)
Volume On-Screen-Display (OSD) -- by Rajat: 热键定义音量,会在屏幕上用彩色条表示音量大小.
Window Shading (roll up a window to its title bar) -- by Rajat: 窗口搜索:把一个窗口卷到其标题栏而后又卷回来,程序退出时,所有窗口自动恢复.
1 Hour Software -- by skrommel: 一大堆脚本的收集,有简单的说明和有些屏幕抓图.
Titan‘s Scripts: Titan的脚本收集,比如以下内容:
1) XML Reader/Writer: 一个友好的xml文件的读取和写入界面,可以方便的提取和写入数值.
3) Functions: 一个函数包,每个是一个Autohotkey命令,带有输出变量.
4) Weather: 在一个gui或者托盘中显示当前天气.
Toralf‘s Scripts: Toralf‘的代码收集,有许多有用的,比如:
1) AHK Window Info: 得到一些Windows的信息.
2) Electronic Program Guide: 浏览你所在区域的电视节目表 (支持几个国家).
3) Auto-Syntax-Tidy: 改变脚本中的缩进情况和大小写情况,让之更有可读性.(个人感觉是个好代码,是不是对其他语言也有用呢?)
Scripts & Functions Forum:
这个是个大宝库,有1000个可供使用的Autohotkey脚本代码. 由许多AutoHotkey的用户一起提供。(有需要记得搜索啊,你的问题许多时候已经有人问过了).