AutoHotkey。一个神一般的软件
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
AutoHotkey。
一个神一般的软件
当一个blog连自己的主人都忘掉的时候,还能指望有别人来看么……这里似乎就是这样的状况。
不过我也确实想用这个blog了。
比起放在开心网之类的地方,至少这里还可能给更多需要的人看到。
今天的主题是AutoHotkey。
一个神一般的软件。
如果想赞美或者推广这个软件的话,其实是有很大难度的,因为它根本就不让人接近,没有GUI界面,所有定义都需要手动敲代码,代码规则复杂但是HELP文档只有英文可以看,所以这几乎是一个专门给程序宅来用的软件。
但是会用这个软件的话,几乎可以用它达到无限的功能。
拿几个最简单的例子——也是我目前在用的来说。
一,多媒体键盘的程序运行热键
;;Win+* 打开各种程序
#F3::run E:/Program Files/foobar2000/foobar2000.exe
#F4::run E:/Program Files/Foxmail/Foxmail.exe
;;Ctrl+Alt+End关闭显示器
^!End::run E:/Program Files/关闭显示器.exe
这是最简单的,虽然不能定义真正的多媒体键盘上多出来的那些键(其实不一定,但我没有研究过,等我研究一下),但是可以达到快速启动应用程序的作用
二,这里是调整音量的接口
;;Vista音量控制,Win+F10~F12
#F11::Send {Volume_Up 1} ; Raise the master volume by 1 interval (typically 5%).
#F10::Send {Volume_Down 3} ; Lower the master volume by 3 intervals.这里如果不加参数的话就是默认5
#F12::Send {Volume_Mute}
AutoHotkey还有库功能,就像编程时调用的函数一样。
这里正好有一个例子,一些多媒体键盘(比如微软)的驱动会接管mute功能,那么其实可以用到另外两个库去实现静音
#F12::
COM_Init() ;调用COM库
VA_SetMasterMute(!VA_GetMasterMute()) ;调用了VA库里的函数,Get Master Volume的值(0或1),再设成其非值
COM_Term() ;结束调用COM库
return ;结束Win+F12的定义
三,罗技SetPoint这样的软件可以为指定程序载入特定profile,比如这个键平时是播放器,在word里就是粘贴——AutoHotkey也可以,而且更强大:
;;输入Alt+S等同于回车在MSN中
#IfWinActive ahk_class IMWindowClass ;这段就是指定在MSN 2009的class窗口激活时生效
!s::Send {Enter} ;Alt+S等同于输入回车
#IfWinActive ;结束对这个程序的特殊指定
于是这样你就强奸了MSN 2009,微软不做Alt+S发送,你用AutoHotkey来做。
四,键盘宏定义这样的更是小菜一碟了
;;foobar2000 复制文件名
#IfWinActive ahk_class {E7076D1C-A7BF-4f39-B771-BCBE88F2A2A8}
#F1::Send !{Enter} {TAB}{TAB}{TAB}{RIGHT}{TAB}{TAB}{DOWN}{DOWN}{F2}{SHIFTD OWN}{LEFT}{LEFT}{LEFT}{LEFT}{SHIFTUP}{CTRLDOWN}c{CTRLUP} {ESC}{ESC}
#IfWinActive
街霸4快速出招:真空波动拳
#IfWinActive ahk_class STREET FIGHTER IV F2::
Send {DOWN down}
sleep 16
Send {RIGHT down}
sleep 16
Send {DOWN up}
sleep 16
Send {RIGHT up}
sleep 16
Send {DOWN down}
sleep 16
Send {RIGHT down}
sleep 16
Send {DOWN up}
sleep 16
Send {f down}
sleep 30
Send {RIGHT up}
Send {f up}
return
F1::
Send {DOWN down}
sleep 16
Send {LEFT down}
sleep 16
Send {DOWN up}
sleep 16
Send {LEFT up}
sleep 16
Send {DOWN down}
sleep 16
Send {LEFT down}
sleep 16
Send {DOWN up}
sleep 16
Send {f down}
sleep 30
Send {LEFT up}
Send {f up}
return
#IfWinActive
这些只是这个软件所有功能的很少一部分,很多人几乎是拿它作为一门单独的编程语言来用的,只有想不到,没有做不到。
所以我可以义无反顾地扔掉罗技换什么花哨功能都没有的茶轴圣手,因为必要的功能全部靠AutoHotkey实现了。
更可贵的是,这是个自由软件——哪怕它卖50美元,我估计都会买的。