首页 > 代码库 > AHK教程 - imsoft.cnblogs

AHK教程 - imsoft.cnblogs

转自:小弗兰茨

AHK,就是传说中的 Auto Hot Key 。什么?没有听说过?那么很正常……
它运行在Windows下。
总之,AHK可以赋予你对你的电脑的无与伦比的控制力。一些人想要在MM面前展示技术的,我是说很炫的技术——一般人能看懂的技术的,那么学一学AHK吧。

快速入门之:开始

首先,你需要去下载AHK,我想这个不用我告诉你了。搜索一下吧,很容易找到的。

快速入门之:脚本



AHK是靠脚本中写的东西来执行的。所以我们必须得有一个脚本。
脚本就是普通的txt文件类型的,但后缀名必须是 .ahk 。
现在我们开始我们的第一个脚本,镜湖之快速启动

新建脚本
我们随便找个地方,新建一个txt文件,把名字命名为 onjinghu.ahk (名字没有关系。(或者是新建一个Auto hot key 脚本文件)
注意,后缀名一定要是ahk,如果你的电脑没有显示后缀名,到文件夹选项里面改掉。
然后,右击这个文件,选择编辑。在记事本里输入以下字符
#z::Run www.onjinghu.com
保存。关闭。

脚本解释
那个井字符 # 代表键盘上的Windows键(就是那个要飘走的,长的像微软公司标志的那个键),z自然代表z键了。两个冒号相当于分隔符,而Run的意思是运行,打开。
这句话的意思就是当按下Windows+z键的时候,就会启动镜湖的网站。

运行脚本
然后双击 onjinghu.ahk 。(绿色版的,或者用win7的会比较复杂,下面详谈)。
此时,系统托盘里出现了一个绿底的H标志,这说明我们的脚本已经在运行了。此时按下Windows和Z键,你会发现,果然打开了镜湖的主页,当然,要是你联网的话,你就可以浏览镜湖了。

更多
如果你是绿色版的,或者是win7系统,可以用如下方法运行。
在AutoHotKey的安装文件夹里,有一个Compiler文件夹,打开,再打开里面那个Ahk2Exe.exe文件
选择好Source(也就是onjinghu.ahk文件)然后选择destination(就是随便输入一个名字),然后点击Convert。这会将一个ahk文件转换成为exe文件,然后双击这个exe文件就可以了。
在系统里,可以同时运行多个脚本。
如果要退出脚本,在托盘里右击图标选择退出即可。

快速入门之:执行文件与打开文档



ps:下载地址:http://dl.pconline.com.cn/html_2/1/65/id=39876&pn=0.html

总之,标题的意思就是打开一个文件。
Run命令用来打开文件。
比如
#q::Run C:/Program Files/Tencent/QQ/Bin/QQ.exe
在我的电脑上,按下Windows+Q键可以打开QQ。
^符号代表control键(即Ctrl), !符号代表Alt键。那么我们可以用如下语句:
^!c::Run calc.exe
这表示用Alt+Ctrl+C键可以打开计算器。

耍酷方法之一
现在,你可以把桌面图标都隐藏掉,然后,用快捷键来打开所有的东西了。
右击桌面空白处,=》排列图标=》显示桌面图标。现在桌面上什么都没有了。然后呢?
然后我们新建一个文件,内容如下
#q::Run C:/Program Files/Tencent/QQ/Bin/QQ.exe
#c:/Users/xc/AppData/Roaming/Maxthon2/Maxthon.exe
等等……不一而足。这样MM打开你的电脑后,只看到一个赤裸裸而华丽丽的桌面,会非常惊讶……
不过要附带说一句,Windows键和好多键都是系统预先定好的组合键,比如Windows+D是刷新桌面,Windows+M是显示桌面,Windows+F是搜索。如果你要AHK使用这些快捷键的话,它会把这些Windows自带的快捷键屏蔽掉。

一键打开多个程序
可以这样
#c::
Run exe1
Run exe2

更多
在QQ的那个例子里,你可以用
#q::Run %A_ProgramFiles%/Tencent/QQ/Bin/QQ.exe
来代替。%A_ProgramFiles%这种用双引号括起来的东西叫内建变量,反正就是系统已经预先定好的东西,总之,它就代表哪个C:/Program Files,也许有人会认为它是多此一举。但这不仅仅是少输入几个字符的事情,有一些变态(开玩笑的话),会把系统变量更改,这样系统会自动都把软件安装到D:/Program Files中去。所以,用%A_ProgramFiles%的脚本在别人的电脑上就不会有不能运行的困扰。

快速入门之:发送键盘鼠标消息

那么好的,我想大家都放弃了要完全用快捷键操作的方法,那么,我们来看看发送鼠标键盘消息吧
^!s::
Send ^_^!!!{Enter}www.onjinghu.com
return
在上例中,^!s代表Ctrl+Alt+S,当按下这个键时,会自动输入以下文字:

^_^!!!
www.onjinghu.com

这样,我们写信的时候好像就可以轻松多了。
在上例中,{Enter}代表回车符,Send的语意是发送键盘消息,所以跟输入法还有关系哩。至于那个return,就不要管它了。爱问十万个为什么的天才们可以自己试验,看看没有它会发生什么问题。

还有人,忍受c语言很久了,一直想给自己提速。我们只需要这样:
^!s::
Send {#}include{Space}<stdlib.h>{Enter}int{Space}main(int{Space}argc,{Space}char{Space}*{Space}argv){{}{Enter}{Tab}//ToDo:{Enter}{Tab}{Enter}{Tab}return 0;{Enter}{}}{Up}{Up}{Right}
return

有人能看出它的真面目吗?自己亲自试验一下就知道了。它的输出结果如下(在英文输入法状态下,而且你要打开一个记事簿什么的):
(已有现成工具:TabKey Appinn、Tester比输入法里自定义短语功能可强多了)
#include <stdlib.h>
int main(int argc, char * argv){
    //ToDo:
    
    return 0;
}
同学们,我们亲手打败了微软的IDE……囧。
上面{#}就是#,因为是特殊符号,所以要括起来,同样的符号还有!+^{} 这5个。而一些控制符,也是属于特殊符号的,比如{Space}代表空格,{Enter}代表Enter键,太键了,{Delete}是哪个键,我不说你也知道了,还有方向键是{Up}等。完全的表请自己去看帮助文档。

有人还想问怎么输入中文呢?那就是这样的,比如,大肚子同学要和他的女朋友打招呼,想要得到:

晚安,亲爱的
爱你的 大肚子

我们只需要把中文输入法(不要是智能ABC,只能是搜狗拼音)打开,然后
^!s::
Send wanan{Space},qinaide{Space}{Enter}aini{Space}de{Space}{Space}da{Space}duzi{Space}
return

结论是,没有做不到,只有想不到。再配合方向键,退格键,我们几乎可以输入任何想要的汉字。
不过美中不足的是,我们不能切换输入法,不过,这难不倒我们,大家想想呗。

想好了吗?想好我们就可以对小熊猫表白了,首先建立一个这样的脚本

F4::
Run notepad.exe
WinWait 无标题 - 记事本,,2
Send ^{Space}woaini{Space},xiao{Space}xiongmao{Space}
return
然后我们把小熊猫叫到电脑前,请他按下F4键,哈哈,他会不会脸红呢?
第三句WinWait的意思是等待一个窗口的出现,这个窗口的名字是无标题 - 记事本,如果2秒后还没出现,就接着运行。

AHK教程 - imsoft.cnblogs