2017-02-16 2 views
5

自分のキーボードと2番目のキーボードのように機能するUSB​​バーコードスキャナがあります。第2キーボードイベントの記録

コンピュータを制御するためにメインキーボード(普通はそうです)を使用し、すべての入力をファイルに記録するための2番目のキーボード(実際にはバーコードスキャナ)を使いたいと思います。

これは可能ですか?

重要なのは、私はインターネット上で、言葉でも、何でも、何でもよいということです。バックグラウンドで2番目のキーボード(バーコードスキャナー)を同時に書くことはできますが、ログファイルにすることができますが、メインのキーボードを使用してそのプロセスに書き込みます。私が今使用しているプログラムは、2番目のキーボード入力については決して知らないでしょう。

enter image description here

おかげで、すべての提案は非常に歓迎されています。

+0

Windowsデバイスドライバの検討をお勧めします。これにより、2番目のキーボードのフックを追加する方法がわかります。 –

答えて

1

OSがキーボードイベントを処理する前に、Raw Input APIを使用してキーボードイベントを監視できます。 APIは、どのデバイスが各イベントを送信しているかを伝えるので、スキャナだけからイベントを記録することができます。

しかし、Raw Input APIでは入力をブロックできないため、スキャナのイベントが通常のキーボードイベントとして処理されないようにするには、SetWindowsHookEx()を使用してイベントを終了させる必要があります。

ただし、SetWindowsHookEx()はどのデバイスが各イベントを送信しているかを報告しないため、2つのAPIを手動で調整する必要があります。生の入力がキーボードイベントを検出したとき、イベントがどのデバイスから来たかに基づいてフラグを設定します。フックが対応するイベントを検出すると、フラグがスキャナデバイスを示している場合はフラグをチェックし、イベントを終了します。

CodeProjectのCombining Raw Input and keyboard Hook to selectively block input from multiple keyboardsを参照してください。