年金ロボットをめざして

FX(外国為替証拠金取引)自動運用ロボットの開発ブログのはずだった

AutoHotKey(1)

ぼくが AutoHotKey のことを知ったのは、流行らせるページ(http://lukewarm.s101.xrea.com/)が跡地になってからのことだ。それは何年か前のことだったと思うけど、AutoHotKey の公式サイトのドキュメントを少しだけ読んだ。そのときの印象は、プログラミング言語としてもおもしろそうだと言うこと。ただ、そのときはおもしろいながらも AutoHotKey のその言語仕様の外観からゲテモノと感じてしまい、そのまま今日まで放っておいてしまった。

AutoHotKey - http://www.autohotkey.com/f:id:fxrobot:20131213051623j:plain

実は、先日「Windows 自動化言語」の記事を書いたのは、その前々日辺りに AutoHotKey を調べ始め、その魅力を改めて感じることができたからなのだ。AutoHotKey を少し知っている人は、そのほとんどの人がプログラミング言語とは見ていないのではないだろうか。キーバインドを変えたりできる便利なツールと思っているはずだ。

f:id:fxrobot:20131216231959p:plain

ぼくの場合は、まずはプログラミング言語としてどうなのかを一番気にする。そして、その結果、AutoHotKeyL は以外に強力なプログラミング言語ではないかと思うに至ったのだ。

さて、上の公式サイトから AutoHotKey をダウンロードすると、AutoHotKey_L_Install.exe というファイルになっている。この L というのは、AutoHotKey から派生した別プロジェクトだったのだが、これでわかるように現在では AutoHotKey プロジェクトのデフォルトになっているようだ。

何が違うのかというと、Unicode 対応だということ、連想配列があること、などなど。AutoHotKeyプログラミング言語としてみれば AutoHotKeyL 以外の選択肢はないだろう。だからぼくはこの L を調べもしないで Language の L と捉えている。本当の意味は違うだろうね。

 勝手に言わせてもらうが、AutoHotKey Language はなかなかのプログラミング言語だ。放っておく手はないよね。幸いなことに AutoHotKey を理解するのに十分な日本語のドキュメントも揃っている。

 ①「AutoHotKey サンプル集」http://autohotkey.blog.fc2.com/blog-entry-119.html
 ②「AutoHotKeyJp」https://sites.google.com/site/autohotkeyjp/home

しかし、最新の仕様は公式サイトのドキュメント http://www.autohotkey.com/docs/ やら、フォーラム http://www.autohotkey.com/board/ やらをチェックするのがよい。

なにはともあれインストールするとしよう。

f:id:fxrobot:20131217161909j:plain

AutoHotKey のセットアップを実行すると上の画面が現れる。

64bit Windows にインストールするのであれば Express Installation を選べばいいだろう。しかし、Custom Installation を選ぶと、以下の画面となる。

f:id:fxrobot:20131217161923j:plain

ここでも Unicode 64-bit を選べば、最初に Express Installation を選んだのと同じようなことになる。ぼくは、Unicode 32-bit を選んだ。ぼくの Windows は 64bit版だが、実行ファイルを作って配布することが前提なので、配布先で 32bit と 64bit の双方で動作するように Unicode 32-bit を選んだのだ。

ANSI 32-bit は、過去の AutoHotKey プログラムとの互換性を重視する場合に選ぶわけだが、そのような人はこの記事を読んではいないだろう。普通は選ばないほうがよいと思う。

Unicode 32-bit と Unicode 64-bit のどちらを選んでもインストール先は、C:\Program Files\AutoHotKey となり、Unicode 32-bit を選んでも Unicode 64-bit も(ANSI 32-bit も)インストールされるようだ。

インストールの残りの操作は指示どおり進めればよい。

AutoHotKey のプログラムは、いつも使っているテキストエディタで作ればよいだろう。ぼくはいうまでもなく Mery を使っている。Unicode 32-bit か Unicode 64-bit を選んだ場合は、UTF-8(BOM 付き)ファイル形式を選んで保存すること。AutoHotKeyデータ形式は内部では UTF-16 を採用している。外部からの読み込みはデフォルトでは UTF-8 になっている。

f:id:fxrobot:20131217162604j:plain

作った AutoHotKey プログラムの拡張子は .ahk にすること。そうすれば、そのファイルにマウスを合わせて右クリックをすれば上の画像のようなメニューが表示される。

Run Script        →  スクリプト(AutoHotKey プログラム)の実行
Compile Script  →  スクリプトのコンパイル(実行ファイル exe の作成)
Edit Script         →  スクリプトの編集

上のように必要な操作はすべてここからおこなうことができる。ただし、Edit Script を実行すると、 Windows 標準添付のメモ帳が立ち上がる。ぼくは Mery を使いたいので、次のようにレジストリエディタで Mery で編集できるように変更した。

f:id:fxrobot:20131217163232j:plain

レジストリエディタを起動するのは Windows キーを押しながら R を押す。すると「ファイル名を指定して実行」ウィンドウが開くので、regedit と打ち込んで OK ボタンをクリックする。

起動したレジストリエディタで上の画像のように HKEY_CLASSES_ROOT → AutoHotKeyScript → Shell → Edit → Command のように選んで、(既定) の部分をダブルクリックすると下の画像が表示され編集できるようになるので、画像のように好きなエディタに変更する。

f:id:fxrobot:20131217164507j:plain

 これでOKだ。

あとは AutoHotKey.exe のショートカットをスタートアップフォルダに入れておけば便利になる。この操作は、どう便利になるかが理解できてからでよいだろうが、スタートアップフォルダの場所は以下のとおりだ。(「ユーザー名」は具体的なユーザー名に変えること)

C:\Users\ユーザー名\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup

これで準備完了。あとは AutoHotKey のプログラムを作って実行するだけだ。
この先はまたの機会とする。