Home > プログラミング > C# でグローバルにフック

C# でグローバルにフック

通常のキーボードやマウスのフックは DLL にエクスポートしたフックプロシージャを使うのだが,C# (.NET) だとこれがうまく出来ないので通常はグローバルフックが出来ないらしい.しかしながら,Low Level Input であればフックがグローバルになるらしく,これを使えば C# でもグローバルフックが出来るとのこと.実際に Web で見つけたソースを元に SetWindowsHookEx に MH_MOUSE_LL を指定してフックしたらうまくいった.ついでにキーボードも問題なく成功.

あとは Low Level Input のレベルでドラッグ中のオブジェクトを取得できるといろいろありがたい.最悪のばあいマウス座標直下にごく小さなウィンドウを作ってドロップのためのイベントを SetInput で投げてしまえば出来るのだが… ドロップ時に何かエフェクトを表示する振りすれば使えそうな手ではある.

★下記に2つの英単語をスペースで区切って入力してください

Home > プログラミング > C# でグローバルにフック

Search
Feeds

Page Top