USB バーコード スキャナーをリッスンし、一致するバーコードが読み取られるとインターネット サイトを起動するシステム トレイ アプリケーションを作成しています。(バーコード スキャナは、キーボードのようなキー シーケンス入力を提供します)。この記事Distinguishing Barcode Scanners from the Keyboard in WinForms に基づいています。
私はこれらの機能を書くことができました:
プログラムはすべての WM_IMPUT メッセージをリッスンし、バックグラウンドで実行されてフォーカスされていない場合でも、スキャンされたバーコードを「キャッチ」します。
プログラムは、ユーザーがキーボードを入力したのか、バーコード スキャナー スキャンを入力したのかを認識し、スキャナーからの入力のみを選択します (ただし、バーコードは、スキャナーからの通常のキー ストローク シーケンスとしてフォアグラウンド ウィンドウ (フォーカスされている) に送信されます)。キーボードのように機能します)。
私がしなければならないことはこれだけです: 3. 入力がバーコード スキャナーから来た場合 --> 他のアプリケーションやスレッドに送信されないようにブロックします。(あなたが電子メールを書いていて、それからスキャンしたとします。バーコードを電子メールに「入力」したくありません)。
助けてください: 他のすべてのスレッドから「キーストローク」をブロックすることは可能ですか? どうやってするの?
ありがとう、ハザール