当一个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}{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美元,我估计都会买的。
|