年金ロボットをめざして

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

AutoHotKey(4)

プログラミング言語としての AutoHotKey を語るのだとぼくは言ってきたけども、まぁ、少しは AutoHotKey 本来の Automation Hotkeys Scripting について述べておこう。

f:id:fxrobot:20131220091145p:plain

その前に、AutoHotKey の言語仕様部分についての感想を書きたい。

ぼくは AutoHotKey のリファレンスを一通り眺めたが、理論的に不完全な部分があるということを感じた。

もちろん、致命的というレベルの問題ではないので、書き方を工夫すれば一貫性を保つことはできると思う。また、今後の改良に期待したいところだ。

AutoHotKey に関する記事を書いているブログを検索して眺めてみたが、AutoHotKey の言語仕様に対して、汚い、わかりにくいという印象を持っている人がいた。これはぼくが感じた第一印象と同じだ。その印象の原因は 2つあると思う。

それは、オペレーションとオペランドの区切りにカンマが必要なこと。小さいことだがかなり異様に見える。2種類の代入と %。これは AutoHotKey 側の問題ではなく理解の不足だった。その他の完成度に関する不満や仕様の不整合については AutoHotKey を理解できてから初めてわかったことだ。

ところで、ぼくはウッカリしていたが、オペレーションとオペランドの最初のカンマは省略できるようにいつのまにか改良されていたようだ。ぼくは早速、AutoHotKey(2)と AutoHotKey(3)の記事をそれに合わせて修正した。

f:id:fxrobot:20131220092841j:plain

 さて、AutoHotKey(1)で書いたとおりインストールができたら、右のようにタスクトレイに AutoHotKey のアイコンが現れるはずだ。

そのアイコンを右クリックするとメニューが表示される。「Edit This Script」を選ぶと、メモ帳が立ち上がり、AutoHotKey.ahk の内容が表示される。(ぼくの場合は、エディタを Mery に変更してある)

この中身を好きなように書き換えて、そのまま保存すれば、書いたとおりに機能してくれる。

例えば、a::b の1行を加えれて保存すれば、a のキーを打てば b のキーに置き換えてくれるようになる。

なお、AutoHotKey.ahk を書き換えた後には、右のメニューのなかにある「Reload This Script」を忘れずに実行すること。

AutoHotKey には実に様々な機能があるので、リファレンスを見て、あれこれ試してみるとよいと思う。ぼくもやってみたいことが次から次に浮かんでくるが、まずは、次のような簡単な割り当てをテストとしておこなってみた。
f:id:fxrobot:20131220094009j:plain!g は Alt キーを押しながら g を押すこと。:: の右側が司令になる。ブラウザを立ち上げて www.google.co.jp を開いてくれる。同じく、!y で www.yahoo.co.jp を開いてくれる。その下の2行は、指令は同じだが、「無変換」キーを押しながら g を押すと Google、y を押すと Yahoo だ。Alt キーだと他の機能とのバッティングが気になるところだが「無変換」キーならば安心というわけだ。

AutoHotKey には、キーの割り当てを変えてしまう「リマップ」や特定のキーによって AutoHotKey のプログラムを呼び出す「ホットキー」、特定の文字列をタイプしたときに AutoHotKey のプログラムを呼び出す「ホットストリング」などがある。

キーの組み合わせによって、Excel や Word、PowerPoint などを起動したり、「無変換」キー&「m」キーでメールを立ち上げたり、パソコンを終了させることも簡単だ。

アプリケーションにキー操作(マウス操作も)を送信することもでき、あるいは、AutoHotKey の大きなプログラムをほぼワンタッチでアプリケーションに与えることも可能だ。

この応用にはかなり深く広い可能性があるはずだ。
最初にこれを書くべきだったか。:P