グローバルフック † WH_KEYBOARD_LL, WH_MOUSE_LLの2つは特別な方法でフックするためC#でも使用可能です。これ以外のグローバルフックはC#ではできません。通常グローバルフックはDLLにする必要がありますが、この2つは特別でexeファイルからもフック可能です。 モジュールのインスタンスハンドルはSystem.Runtime.InteropServices.Marshal.GetHINSTANCE(typeof(T).Module) とやれば取れます。しかしながらこれをexeファイルを対象に行い、VS 2005を使ってデバッグ実行をする場合vshost.exeが走っているため正しい値が取れません。回避方法としてはデバッグオプションでVisual Studio ホスティングプロセスを有効にするというオプションを無効にする、GetModuleHandle(NULL)を呼び