いまさらながらAutoHotkeyが大変便利なことに気が付いた

インストール

本家 から "Installer for AutoHotkey_L"をダウンロードして、インストール時にUnicodeを選ぶ。

使い方


My DocumentsのAutoHotkey.ahkを編集。

;ひらがなキーを半角全角キーに割り当てる。
sc070::sc029


;Windows+Cでコマンドプロンプト起動。引数で起動時のディレクトリを指定。
#c::Run cmd, C:\Users\cherenkov


;Ctrl+Dで20110215の書式で日付を入力。
^d::
cc := Clipboard
Clipboard = %A_Year%%A_Mon%%A_MDay%
Send, ^v
Clipboard := cc
return


;MSキーボードの上部にあるホットキー(再生/一時停止)を拡張し、アクティブではないMedia Player Classic Home CinemaでもPlay/Pauseできるようにする。
sc122::
WinGetActiveTitle, ActiveTitle
DetectHiddenWindows,On ;WinGetでMinMax取る場合は必須。事前に入れるべし。
WinGet, mpcWin, MinMax, ahk_class MediaPlayerClassicW
if (mpcWin == -1) {
    WinRestore, ahk_class MediaPlayerClassicW
}
ControlSend,,{Space},ahk_class MediaPlayerClassicW
if (mpcWin == -1) {
    WinActivate, %ActiveTitle%
}
return
メモ
  • cc := Clipboardではなくcc = Clipboardのほうがいいかも。よくわかってない。
  • Key historyで"半角/全角"のように表示されたのでそのままRemapのキー名に使うとダメ。そういう場合は、サンプルにならって「vkXX」や「scYYY」のような仮想キーコードやスキャンコードで登録する。
  • 「Ctrl+Dで20110215の書式で日付を入力」は、以前 NILScript で組んで使っていたが、今回AutoHotkeyでこんな簡単にできる事を知ってガッカリした。
  • mpcは最小化状態では、ControlSendしても反応しないので、WinRestoreを使って元のサイズに戻してから処理するようにした。
  • 最小化状態から元のサイズに戻す際にWinActivateを使うと、Virtual Dimension(仮想デスクトップ)を使っている場合にウィンドウの取り扱いがおかしくなる。WinRestoreを使えば大丈夫だった。
  • 元々mpcが最小化していた場合は操作を終えてから、それまでアクティブだったウィンドウをアクティブに戻すようにしてある。
  • mpcを再び最小化するためにWinMinimizeを使うと、Virtual Dimensionがおかしくなるので行なわないことにした。

*1

*1:検索用:キーバインド