2

2つのUSBキーボードKeyboardAとKeyboardBを備えたPCがあります

User1はKeyboardAで作業します。

いつかKeyboardBでUser2タイプ。

タスク:KeyboardBからのすべての入力がファイルにリダイレクトされます。

SetWindowsHookExを使用すると、入力をフックしてメッセージを停止できますが、KeyboardAまたはKeyboardBを検出できません(キーボードを検出する方法はありますか?)

RegisterRawInputDevicesを使用すると、KeyboardAまたはKeyboardBを検出しましたが、メッセージを停止できず、KeyboardBからの入力がUser1インターフェイスに変換されます(メッセージを停止する方法はありますか?)。

キーボードから特定の場所にデータをリダイレクトするための別の方法が必要な場合がありますか?

4

1 に答える 1

2

私の解決策:

  1. SetWindowsHookExを使用して、すべての入力をブロックします

  2. RawInputでキーボードを決定します

  3. キーボードの場合アクティブウィンドウで入力を再送信

  4. それがKeyboardBリダイレクト入力の場合

  5. 項目1のブロックを無効にするために、LLKHF_INJECTEDのKeyboardHookStruct.Flagsをチェックし、ブロックしません

デタリス

于 2013-01-03T10:28:14.507 に答える