これに関する数十のオプション/ソリューションを確認しましたが、機能させることができません。
簡単に言えば、ユーザーが手動でテキストを入力できるテキストボックスを持つVB.Net Winformがあるか、USB接続のバーコードスキャナー(キーボードをシミュレートする)を使用してUPCをキャプチャできます。
私がやろうとしているのは、現在フォーカスされているコントロールに関係なく、バーコード入力をテキストボックスに入力することです。
フォームの KeyPreview プロパティを True に設定しました。
次に、次のように frmMain_Keypress イベントにいくつかのコードを追加しました。
If Me.txtSearch.Focused = False Then
txtSearch.Focus()
End If
非常にシンプルです...そしてそれはうまくいきます...
txtSearch が既にフォーカスされている場合、バーコード/UPC 全体がテキスト ボックスに入力されます。
ただし、別のコントロールにフォーカスがある場合、最初の文字を除くバーコード/UPC のすべての文字がテキストボックスに入力されます。常に最初の文字を取り除きます。
上記のコードにいくつかのデバッグステートメントを配置して、最初の文字がまったく読み取られているかどうか、および読み取られているかどうかを確認しました...テキストボックスに送信されていません。
バーコード スキャンに対する非常に複雑なソリューションを他にもたくさん見てきましたが、非常に単純なものに非常に近いように思えますが、主な文字が取り除かれると明らかに機能しません。
うまくいけば、私は非常に明白な何かを見逃しています。