簡単に言うと,自由自在に操作できる高機能なスクリプト実行環境です.
詳しい使い方は,
AutoHotkeyを流行らせるページ
に書いてあるので,見て下さい.
いくつかスクリプトを書いたので,メモします
■Alt+Tabの動作変更
通常,Alt+TabでWindows標準のウィンドウ切り替えが起動しますが,インクリメンタルサーチで絞り込めるウィンドウ切り替えソフトウェア「CLTC」に変更します.
!Tab::Run "C:\MyPrograms\cltc\cltc.exe"
■起動orアクティブ
関数を定義し,プログラムが起動していなかったら起動し,起動している場合には,アクティブ(トップに表示すること)にします.
ここでは,Alt+aで便利な2画面ファイラー「あふ」を,Alt+cで,ユーザデスクトップ上で,コマンドプロンプトを起動します.その他にもいくつか割り当ててますが,省略します.
Launch(class, path) { IfWinNotExist ahk_class %class% Run, %path% else WinActivate, ahk_class %class% return } Launch_Param(class, path, param) { IfWinNotExist ahk_class %class% Run, %path%, %param% else WinActivate, ahk_class %class% return } !a::Launch("TAfxForm", "C:\MyPrograms\afx11\AFX.EXE") !c::Launch_Param("ConsoleWindowClass", "cmd.exe", "C:\Users\*****\desktop")
■F10でアクティブなウィンドウを半透明にする
こんな感じ

F10:: WinGet, t, Transparent, A if %t% WinSet, Transparent, Off, A else WinSet, Transparent, 160, A return
■Ctrl+F10で上記を全てのウィンドウに
^F10:: WinGet, id, list, , , Program Manager Loop, %id% { StringTrimRight, this_id, id%a_index%, 0 WinGet, t, Transparent, ahk_id %this_id% if %t% WinSet, Transparent, Off, ahk_id %this_id% else WinSet, Transparent, 160, ahk_id %this_id% } return
■F11でアクティブなウィンドウを最大化
F11:: WinGet, State, MinMax, A if State != 0 WinRestore, A else WinMaximize, A return
■Ctrl+F11でアクティブなウィンドウを最小化
^F11:: WinGet, State, MinMax, A if State != 0 WinRestore, A else WinMinimize, A return
■Win+カーソルでウィンドウの移動
Ctrlも一緒に押すと移動量が少なくなります
WinMoveStep(XD,YD,PARAM) { WinGet,win_id,ID,A WinGetPos,x,y,,,ahk_id %win_id% Step := 128 if(PARAM = 1) Step := 24 x := x + (XD * Step) y := y + (YD * Step) WinMove,ahk_id %win_id%,,%x%,%y% return } #Left::WinMoveStep(-1,0,0) #Right::WinMoveStep(1,0,0) #Up::WinMoveStep(0,-1,0) #Down::WinMoveStep(0,1,0) #^Left::WinMoveStep(-1,0,1) #^Right::WinMoveStep(1,0,1) #^Up::WinMoveStep(0,-1,1) #^Down::WinMoveStep(0,1,1)
■Win+Shift+カーソルでウィンドウサイズを変更
Ctrlも一緒に押すと移動量が少なくなります
WinSizeStep(XD,YD,PARAM) { WinGet,win_id,ID,A WinGetPos,,,w,h,ahk_id %win_id% Step := 128 if(PARAM = 1) Step := 24 w := w + (XD * Step) h := h + (YD * Step) WinMove,ahk_id %win_id%,,,,%w%,%h% return } +#Left::WinSizeStep(-1,0,0) +#Right::WinSizeStep(1,0,0) +#Up::WinSizeStep(0,-1,0) +#Down::WinSizeStep(0,1,0) +#^Left::WinSizeStep(-1,0,1) +#^Right::WinSizeStep(1,0,1) +#^Up::WinSizeStep(0,-1,1) +#^Down::WinSizeStep(0,1,1)
■Shift+SpaceでIME ON-OFF切り替え
+Space::Send, {vkF3sc029}
■単独のWinキーのみでスタートメニューを表示しない
※誤動作防止のため
RWin::return RWin & RWin::return LWin::return LWin & LWin::return
■コマンドプロンプト
コマンドプロンプト上でもクリップボードの内容を貼り付けるのに,Ctrl+vを使えるようにする.また,終了はCtrl+w,全て選択はCtrl+a等
#IfWinActive ahk_class ConsoleWindowClass ^v::Send,!{Space}ep ; ^V ペースト ^w::Send,!{Space}c ; ^W 終了 ^f::Send,!{Space}ef ; ^F 検索 ^a::Send,!{Space}es ; ^A 全て選択 ^k::Send,!{Space}ek ; ^K 選択 #IfWinActive
AutoHotkeyを流行らせるページに行くと便利なサンプルプログラムがあります.
中でもホイールリダイレクトは便利!