了解知识
今天的主题是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}{SHIFTDOWN}{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美元,我估计都会买的。
标签: AutoHotkey
扩展知识