今日は、過去に書いたコードの中から、キーボードフックを実装するクラスを紹介しましょう。 .NETではフックに関して、「グローバルフックは使えない」と説明されています。DLLにグローバルフックで使用されるコールバック関数を実装しなければならないのに、.NETではそのDLLを作れないからです。 なんですが、何故かWH_KEYBOARD_LLやWH_MOUSE_LLはグローバルフックが可能なようなのです。理由は定かではありませんが。ひょっとしたら何らかの環境依存があるのかも知れません。ですから当然動作保証などできません。少なくとも私の環境では動いています。 コードそのものはそう大したことはしていません。SetWindowsHookExとその周辺を軽くラップした程度です。 テクニックとしては、直接SetWindowsHookExが要求するコールバックを外に見せるのではなく、コールバックメソッドその
![グローバルフック・ザ・キーボード](https://cdn-ak-scissors.b.st-hatena.com/image/square/126e9c63960837b5815901e11e1f6c1303c17f2b/height=288;version=1;width=512/https%3A%2F%2Fblog.seesaa.jp%2Fimg%2Fogp_logo.png)