2017-11-21 40 views
-1

グローバルキーボードフック(ここでは: Global keyboard capture in C# application)を使用すると、起動したイベントからどのキーボードが押されたかを検出する方法はありますか?ただ、私たちは、あなたが本当に「キーボード」を明確に意味しているGlobalKeyboardHookでどのキーボードが押されたかを検出する方法は?

keyBoardHook = new KeyboardHook(true); 
keyBoardHook.KeyDown += KeyBoardHook_KeyDown; 
keyBoardHook.KeyUp += KeyBoardHook_KeyUp; 

private void KeyBoardHook_KeyUp(System.Windows.Forms.Keys key, bool Shift, bool Ctrl, bool Alt) 
    { 
     if (key == System.Windows.Forms.Keys.F1) 
     { 
      //do something 
     } 
    } 

    private void KeyBoardHook_KeyDown(System.Windows.Forms.Keys key, bool Shift, bool Ctrl, bool Alt) 
    { 
     if (key == System.Windows.Forms.Keys.F1) 
     { 
      //do something 
     } 
    } 
+1

:ここ –

+0

はいはい – Paul

+0

AFAIK、あなたはグローバルフックでそれを行うことはできません。どのデバイスが使用されているかを知る必要がある場合は、DirectInputを使用してください。それははるかに低レベルであり、MSはそれは時代遅れだと考えていますが、それは仕事をしており、dll注入やその他の暗い習慣を伴わないので、グローバルフックよりもはるかに頑強であるという利点があります。 – rs232

答えて

-1

は一例ですか?複数のキーボードがある場合、ユーザーが左または右のキーボードのAボタンを押したかどうかを知る必要があります(例として)。
+1

これはどうやって質問に答えますか?さらに、すべての回答には、説明できないコードスニペットだけでなく、何らかの説明が含まれている必要があります。 – Flater

+0

申し訳ありませんが、私は質問を誤解しました。私は彼がどのキーを押されたかを尋ねていると思っていた – StackOverflowUser

関連する問題