Main |
2008-06-12 Thu
今まで、パスワード管理はID Managerを使ってた。
まあ、十分に使い勝手はよかったけど、入力をもっと効率化できないものかと
思ってふらふら。んで、KeePassというOSSを発見。
ID ManagerはID/PASSを選ぶまでの階層が深く、ホットキーでポップアップして
さらに最低3回のキー入力が必要。
KeePassはウィンドウタイトルでID/PASSを自動で決定できるから、
ちゃんと設定しておけば1アクションで入力完了。すばらしい。
と思ったらひとつ欠点が。自動入力の判定がウィンドウタイトルのみなので
Basic認証/Digest認証なところでウィンドウタイトルが同じになると振り分けできず。
認証領域の情報とかをうまいこと使えないかなと思ってたら、
コマンドランチャーのGiraffe+で、ウィンドウタイトルを簡単に
書き換えられることが判明。メッセージも飛ばせるということで、
ホットキーでGiraffe+のスクリプト実行→タイトル書き換え→
KeePassにホットキーのメッセージ送信という方法に挑戦することに。
説明書的なものがほとんどないのでサンプルを参考に手探りでスクリプト作成。
ウィンドウの中の文字列を引っ張り出してタイトルにくっつけることのは
さくっとできた。しかし、KeePassにホットキー飛ばしても反応せず。
設定画面表示してるとうまくいくけど、システムトレイに入れちゃうとダメ。
試しにてきとーなプログラム作ってトップレベルウィンドウ列挙してみたら、
システムトレイにいるときはダイアログがトップレベルじゃないことが判明。
子供を列挙してみたらちゃんといた。
原因はわかったものの、スクリプトの機能がわからないので結局手詰まり。
添付されてるスクリプト眺めてたら、DLLロードして関数叩いてるところが。
もしかしてと思って適当なDLL作ってみたら関数呼べた。
ということで、モジュール名からハンドル列挙して、さらに子供を列挙して
ホットキーを飛ばすDLLを自作することで解決。
これだけなら、全部自作することもできそうだけど、
システムトレイに常駐させる方法とか、ホットキーの登録方法とか
調べるのもめんどくさいのでやめたw
とはいえ、これだけのために常駐モノを増やすのもアレなので、
ついでにランチャーとしても乗り換えることに。
スクリプトでいろいろできて、自作DLLも自由に使えるなんて
ランチャーの域を遙かに超えたカスタマイズ性だなあ。
mayuもそうだけど、自由度の高いアプリは取っつきにくいけど
使い方わかってくるとなんでもできておもしろい♪
by あるる