2017-09-25 10 views
-2

C#.Netの新機能です。私は "https://github.com/rvknth043/Global-Low-Level-Key-Board-And-Mouse-Hook"にある "Global-Low-Level-Key-Board-And-Mouse-Hook"ライブラリを使いたいと思います。低レベルでキーアップとキーダウンイベントをキャプチャするために使用されます。C# - 低レベルキーフックとイベントの処理

ドキュメントに基づいて、私がダウンして

KeyboardHook keyboardHook = new KeyboardHook(); 
keyboardHook.KeyDown += new KeyboardHook.KeyboardHookCallback(keyboardHook_KeyDown); 
keyboardHook.KeyUp += new KeyboardHook.KeyboardHookCallback(keyboardHook_KeyUp); 

としてコールバック関数を使用して、イベントまで内部keyboardHook_KeyDown & & keyboardHook_KeyUpでキーをキャプチャすることができ、私はアップとダウンしているどのキーを知っていました。しかし、私はいくつかの条件でtrueになるように、このイベントを処理したいと思います。たとえば、キー "R"と "C"を押してからイベントをtrueに処理し、そうでなければアプリケーションに渡します。

私は、クラスを経て、keyboardHook_KeyDown & & keyboardHook_KeyUpは、おそらく最も簡単な方法は、内部に、独自のイベントとあなたのハンドラを作成し、メインアプリケーションがそのイベントをサブスクライブできるようになり

public event KeyboardHookCallback KeyDown; 
public event KeyboardHookCallback KeyUp; 
+0

どのようなエラーが表示されているかなど –

答えて

1

として定義されていましたハンドラがイベントを受け取ると、それ自身のonEventを発行して、関心のあるイベントを処理し、残りのイベントをアプリケーションに渡すことができます。例が必要な場合は、コメントを投稿してください。私は一緒に何かを入れます。

編集:あなたが低レベルのフックを使用する理由を尋ねることができますが、標準的なフックはあなたの目的には不十分ですか?あなたはどのような種類のアプリケーション(フォームなど)も言っていません。

+0

CTL + TAB、CTL + ESC、ALT + TABのようなコンビネーションキーを禁止したいのですが、 –

+0

を参照してください。私の答えは立っている。がんばろう。 –