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