转自:小弗兰茨

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的更多相关文章

  1. 多个Tomcat同时运行环境配置 - imsoft.cnblogs

    解压下载好的Tomcat压缩包,两次.此例中分别命名为tomcat和tomcat2. 1. 在MyEclipse中配置好第一个Tomcat环境,可以正常运行项目后. 2. 再配置tomcat2这个项目 ...

  2. winrar在右键菜单上加上:打包自动加上日期时间标签【图文教程】 - imsoft.cnblogs

    说明:  注册表HKEY_CURRENT_USER\Software\WinRAR\Profiles\0找到GenerateArcName修改0为1,修改GenerateMask为你想要的日期式(默认 ...

  3. SecureCRT最佳配色方法+直接修改默认配置方法 - imsoft.cnblogs

    SecureCRT默认显示效果是黑白且刺眼的主题,看起来很不舒服.经过一番搜索,总结结果如下,直接设置默认属性,设置一次,不需再改. 效果图: 具体操作方法: Options->Global O ...

  4. MyEclipse多次重装、删除注册表、重装系统激活都不成功,终极解决方法 - imsoft.cnblogs

      问题:注册成功的MyEclipse被修改了一个配置文件之后,激活失败,然后在网上找激活码,激活不成功,但激活文件一直保存在电脑中,每次打开MyEclipse的激活界面总看得到之前的激活码.后面尝试 ...

  5. 八、MyEclipse多次重装、删除注册表、重装系统激活都不成功,终极解决方法 - imsoft.cnblogs

    MyEclipse(2010,2014)激活不成功的结论: [问题原因]激活不成功时,主要是激活的密钥文件.myeclipse.properties不在指定的位置.(一般都在D.E.F.G等盘符根目录 ...

  6. iPhone不为人知的功能常用技巧,看完后才发现很多用iPhone的人实在是愧对乔布斯! - imsoft.cnblogs

    很多人花了四五千买部苹果,结果只用到四五百块钱的普通手机功能. iPhone不为人知的功能,常用技巧: 网上搜集整理的iPhone快捷键操作,虽然表面上iPhone按键只有一个HOME键,大部分操作都 ...

  7. X-Mirage苹果屏幕录制工具7天试用期破解 imsoft.cnblogs

    X-Mirage (PC) 能让你的 Windows 变成一个 iPhone.iPad 或者 iPod Touch 的屏幕镜像,应用程序.游戏.照片.视频等等一切可以在 iOS 移动端显示的东西,都镜 ...

  8. 一定要记住这20种PS技术,让你的照片美的不行! - imsoft.cnblogs

    照片名称:调出照片柔和的蓝黄色-简单方法, 1.打开原图素材,按Ctrl + J把背景图层复制一层,点通道面板,选择蓝色通道,图像 > 应用图像,图层为背景,混合为正片叠底,不透明度50%,反相 ...

  9. WinRAR备份技巧 - imsoft.cnblogs

    RAR控制台日常备份策略 run.batrar a -ep1 -agYYYY{年}MM{月}DD{日} 备份 @list.txt-ep1是忽略原文件路径,rar包里是一堆文件,没有目录结构-ag附加命 ...

随机推荐

  1. Android仿QQ微信开场导航以及登陆界面

    相信大家对于微信等社交应用的UI界面已经都很熟悉了,该UI最值得借鉴的莫过于第一次使用的时候一些列产品介绍的图片,可以左右滑动浏览,最后 进入应用,这一效果适用于多种项目中,相信今后开发应用一定会用得 ...

  2. RabbitMQ入门_04_Exchange & Binding

    如果你比较细心,你会发现 HelloWorld 例子中的 Sender 只申明了一个 hello 队列,然后就开始向默认 Exchange 发送路由键为 hello 的消息.按照之前 AMQP 基本概 ...

  3. centos 6.5 安装mplayer

    https://centos.pkgs.org/6/linuxtech/mplayer-1.0.4-3.el6.x86_64.rpm.html

  4. byte[]数组与十六进制字符串与字符串的互相转换 ——转载

    https://www.cnblogs.com/lelehellow/p/6369631.html

  5. Java开发常用Util工具类-StringUtil、CastUtil、CollectionUtil、ArrayUtil、PropsUtil

    字符串工具类 StringUtil.java package com.***.util; /** * StringUtil * @description: 字符串工具类 **/ public clas ...

  6. Mysql批量导入约束报错

    SET foreign_key_checks = 0;   禁用外键,在文件顶部加 SOURCE dump_file_name;      进行SQL执行 SET foreign_key_checks ...

  7. hdu1358 kmp的next数组

    For each prefix of a given string S with N characters (each character has an ASCII code between 97 a ...

  8. MQTT协议QoS服务质量 (Quality of Service 0, 1 & 2)概念学习

    什么是 QoS ? QoS (Quality of Service) 是发送者和接收者之间,对于消息传递的可靠程度的协商. QoS 的设计是 MQTT 协议里的重点.作为专为物联网场景设计的协议,MQ ...

  9. 76. Minimum Window Substring *HARD*

    Given a string S and a string T, find the minimum window in S which will contain all the characters ...

  10. C++技能重拾

    0.虽然静态成员函数不存在this指针,但还是不能在一个class里声明同名同参的虚函数和静态成员函数. 1.vftable里一个虚函数表是一个指针 2.delete本质,调用析构函数同时释放内存Ob ...