24

重複の可能性:
WPF と .NET 3.5 を使用して CTRL+SHIFT+(LETTER) と言うグローバル ホット キーを登録するにはどうすればよいですか?

新しいアプリに複数のグローバル ホットキーを用意したいのですが (Windows のどこからでもアプリを制御するため)、Web で見つけた特定のソース/ソリューションはすべて、一種のリンピング ソリューション (いずれかのソリューション) を提供しているようです。 1 つの g.hotkey のみ、または実行中に画面上で迷惑なマウスの遅延を引き起こすソリューション)。

ここで、これを達成するのに役立ち、学ぶことができるリソースを知っている人はいますか? なんでも?

ありがとう !:)

4

3 に答える 3

40

私が見つけた最も良い解決策はhttp://bloggablea.wordpress.com/2007/05/01/global-hotkeys-with-net/です

Hotkey hk = new Hotkey();

hk.KeyCode = Keys.1;
hk.Windows = true;
hk.Pressed += delegate { Console.WriteLine("Windows+1 pressed!"); };

hk.Register(myForm); 

さまざまなラムダをさまざまなホットキーに設定する方法に注意してください

于 2010-04-10T00:34:38.813 に答える
7

http://www.codeproject.com/KB/cs/CSLLKeyboardHook.aspx

If you're not using .net 3.5.

于 2008-09-17T09:08:29.197 に答える
5

P/Invoke を使用してホットキーごとに RegisterHotKey() を呼び出し、NativeForm (WinForms を使用していると仮定) を使用して WM_HOTKEY メッセージの通知を受けることでこれを処理します。これにより、ほとんどのホットキー コードが 1 か所に保持されます。

于 2008-10-11T00:01:38.637 に答える