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

年金ロボットをめざして

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

無変換キーを使おう!(2)

今度は最初から新しい名前で出ている。

f:id:fxrobot:20131224033411p:plain

Mhキー = 無変換キー。
前回、無変換キーのことを Mhキーと表すことにしたのだった。
そして今日も Mh+a で AutoHotKey.ahk を瞬時に呼び出して編集している。気分がいいね。この気分のよさを他の人にも味わわせてあげたいものだ。

Mh は Alt 、Win 、Ctrl 、Shift などのキーと組み合わせば、更にコマンドの幅を大きく広げることができる。Mh+Alt+a 、Mh+Win 、Mh+Ctrl+a 、Mh+Shift+a 、Mh+Alt+Win+a 、などなど組み合わせ数は大きなものとなる。

しかも、Mhキーが係わることで、手つかずの状態の新たなアサインを大量に手に入れることができるのだ。なかでも Mh+Alt+a などという組み合わせはなかなかの操作性だ。

下の11~14行目を見ると、Mh+Alt+e で Microsoft Excel を呼び出している。Mh と Alt は両方押した状態なので、この2つの順序に区別はないだろう。同様に Word と PowerPoint を呼び出す設定をしている。

f:id:fxrobot:20131224035644j:plain

vk1Dsc07B & p:: を2つ書いてしまうと2重エラーになってしまうので、vk1Dsc07B & p:: を1行だけに保ち、 下のようにその先で分木する必要がある。

Mh+Alt+p  → PowerPoint 起動
Mh+Ctrl+p → Photoshop 起動

f:id:fxrobot:20131224045213j:plain

更に Mh+Alt+Ctrl+p などを実現したい場合は、下のようにする必要がある。! は論理否定。これがないと、PowerPointPhotoshop の両方が立ち上がったりしてしまう。

また、条件部にこのような任意式を書く場合は条件部を丸カッコで囲わなければならない。前にも書いたけどそれが注意点だね。

Mh+Alt+p    → PowerPoint 起動
Mh+Alt+Ctrl → Photoshop 起動

f:id:fxrobot:20131224045227j:plain

また、ホットキーは、アプリケーションごとに異なる内容を定義することができる。以下はその例で、24~29行にある #IfWinActive ahk_Class MozillaWindowsClass ~ #IfWinActive のように #IfWinActive で囲った間に処理を書くことができる。

「MozillaWindowsClass」は FireFox を指定している。この値は、8行目にある Mh+s で呼び出すことのできる Windows Spy で簡単に調べることができる。

f:id:fxrobot:20131224035657j:plain

31~47行までは、Excel 実行中に Mh+t で「テスト:Excel 実行中」と表示し、以下同様に Word や PowerPoint 実行中に向けた処理を書くことができるのがわかることだろう。

例えば、Excel、Word、PowerPoint の3つを立ち上げている状態で、Mh+t を実行すると、アクティブな状態のアプリケーションに対応したメッセージが表示される。

もし、Word がアクティブなら「テスト:Word 実行中」と表示されることになる。
いかがだろう、AutoHotKey の可能性を感じられたのではないだろうか。

まだ書くべきことはあるが、あとは自分でいろいろやってみるのがよいと思う。
幸運を祈る。