0

重複の可能性:
RegisterHotKeyに複数のホットキーを登録する

申し訳ありませんが、私は本当に長い間グーグルで検索しましたが、明確なコードを取得できませんでした!

これを使用してC#でグローバルホットキーを登録する方法を知りたいです:

Win32.RegisterHotKey(hWndSource.Handle, add, 
                     Win32.MOD_CONTROL | Win32.MOD_SHIFT, Win32.VK_KEY_D);

そして最も重要なことは、複数のホットキーをキャプチャする方法です。

Ctrl+Eキーストロークで+すべきこととは異なることをしたいとしCtrlましょうR

4

1 に答える 1

0

キーボードフックを使用して、かなり古いが(私は信じている)まだ機能しているソリューションを確認してください。これにより、フックを作成し、キーボードショートカットを割り当て、標準の.NETイベントとしてキャプチャできます。

hook = new KeyboardHook();
hook.AddFilter(Keys.E, true /* Ctrl */, false /* Alt */, false /* Shift */);
hook.KeyPressed +=new KeyboardHookEventHandler(hook_KeyPressed);
hook.Install();

(3 つのブール値パラメーターの使用はエレガントとは言えません。今日は Flags 列挙型を使用していたでしょう。申し訳ありません)

ソースはこちら: http://weblogs.asp.net/avnerk/archive/2005/10/06/by-hook-or-by-crook.aspx

于 2012-10-26T10:38:19.133 に答える