LLフック

別名義で遊びで作ったソフトを数年ぶりに改良しようかと思ってグローバルフックを調べて書いてみてる。

あ、あけおめ。

前のプロジェクトはWin32APIで書いたけど、正直もうAPIで書く元気はない。
MFCは結局使いこなせなかったなぁー(遠い目

C#でローレベルフックのソースがいくつかあったのでそれぞれを試して修正したりとか。なんとか使えそうなレベルの理解ができた。
(WM_RBUTTONの定義が間違ってるのが少しハマったけど)

別のWPFでhookしてるソースもつついてみたが。これが不安定><
どこを修正するのかなぁー
完全な理解までには壁が厚い。。。
まあ、使えるソースのほうが読みやすいのでそれはそれでいいのですが。

Altの挙動がちょいと難しいがKeyとSysKeyをまとめることで解決。
キーのカウント取りたいだけだし。
あと、×ボタンでウィンドウ閉じるときのUPイベントが来ないんだけど。これ仕様でしょうかねー?

デバッグするときは[Visual Studioホスティングプロセスを有効にする]のチェックを外せばライブラリにしなくてもOK。
dllを作らないでフックもできるのは楽でいいですね。
C++を混ぜなくてもC#で完結できるのも。