読者です 読者をやめる 読者になる 読者になる

AutoHotkey(Windows)でプログラム起動と入力補助

AutoHotkey プログラミング

Windowsに「AutoHotkey」というユーティリティソフトがありまして。

要はスニペットみたいに特定の文字を入力したらメールアドレスが展開されるとか、 プログラムが起動するとか、そういうスクリプトを自分で書いて便利にしよう。というものです。

自分はこれまで入力補助くらいにしか使っていなかったんですが、 プログラムの起動できるんだから、ランチャもこれで代用できる *1と今さら気づきました。

@thと入力したあとにEnterやタブ、スペースを入力するとThunderbirdが起動する

::@th::
Run,"C:\Program Files (x86)\Mozilla Thunderbird\thunderbird.exe"
Return

あとは入力するキーとプログラムのパス、Returnまでを同じように並べていくだけです。 AutoHotkeyをインストール後、テキストファイルに書いて拡張子を.ahkで保存、 実行するとスクリプトが常駐します。

ただこれだといつでもプログラムが起動できてしまうので、割り当てるキーは 影響の出ないものを考える必要がありますが、特定のプログラムを使っている時だけ スクリプトを動作させたり、GUIも扱えるので、それこそランチャのように 入力欄を呼び出して起動。ということもできると思います。

入力補助の例としてはこんな感じです。キーの入力後にEnterやタブ、 スペースを入力するのはプログラム起動の例と同じ。

g@でgmailのアドレスを展開する

::g@::gmailのアドレス

ログインフォームにユーザーIDとパスワードを入力する

::login::
Clipboard=userid
Send,^v
Send,{TAB}
Clipboard=password
Send,^v
Return

Clipboardでクリップボードにコピー、Sendでキー入力ができます。^vはCtrl+v(貼り付け)です。

クリップボードを使わずに入力させる場合

::login::
Send,userid
Send,{TAB}
Send,password
Return

動作させてみたところ。環境によってはSend,{TAB}の前後にsleep,停止する秒数(ミリ秒)を入れる必要があるかもしれません。

リファレンスなどを見ると色々なことができそうですし、目指すゴールが作業効率を上げるとか そういう方向に持っていきやすいと思うので、プログラミングの練習にもなるんじゃないかなと。 Windows限定なのが残念ですが。

*1:今まで使っていたのはAqulinaです