3

USB バーコード スキャナの入力を傍受し、それを利用して、フォーカスのあるアプリケーションに渡す方法はありますか?

現在、バーコード スキャナーを使用して注文の出荷情報を Endicia と FedEx に読み込みます。これらのアプリケーションが起動すると、ルックアップ フィールドにフォーカスが与えられます。バーコードをスキャンすると、テキストがフィールドに渡され、それらのアプリケーションが残りの顧客情報を検索します。このプロセスはうまく機能します。

現在、実際の注文重量と本来あるべき重量を比較することで、ピッキング エラーを制限しようとしています。これをリアルタイムで行うには、スキャナーの入力をインターセプトし、それを使用して、データベース内の計算された重量を実際のはかりの重量と照合する必要があります。大幅にずれている場合は、警告メッセージを表示したいと思います。

また、出荷データを検索できるように、フォーカスがあった元のアプリケーションの正しいフィールドにバーコードを戻せるようにする必要もあります。

誰かがこのようなことをしましたか?入力をインターセプトし、それをフォーカスのあるフィールドに戻すためのリソースをいくつか教えてもらえますか?

注: これは Windows 環境にあります。私は C# に最も精通していますが、VB.net でも機能します。

4

3 に答える 3

2

コンピュータにとって、バーコード スキャナはキーのないキーボードのようなものです。バーコードをスキャンすると、スキャナはバーコードをキーボード入力に変換します。2 番目のプログラムで入力をキャプチャするには、キーボード フックを使用する必要があります。

このプロジェクトこのプロジェクトを見てください。これらのキーボード フックのいずれかを使用するプログラムを作成すると、バーコード スキャナーでスキャンしたデータもプログラムにルーティングされます。

于 2013-03-28T15:59:17.033 に答える
1

この関数を使用しSendInputて、現在フォーカスされているウィンドウにキーストロークを送信できますが、そのウィンドウの整合性レベルが低いか等しい場合に限ります。C# からその関数を呼び出すための Web 上の多くの情報。

多くのバーコード リーダーは、スキャンの開始時に任意のキーコードを配置するように構成できます。PC でホットキーとして定義したコードを出力して、プログラムを起動したり、フォアグラウンドにしたりします。バーコードを入力したら、ウィンドウを破棄または非表示にして、フォーカスを前のアプリケーションに戻し、SendInput を呼び出します。

于 2013-03-28T15:59:49.437 に答える
0

Windows フォームを作成し、フォームの Load イベントで、バーコードを入力する TextBox にフォーカスを与えます。次に、TextBox の TextChanged イベントで、必要な処理を行います。

http://msdn.microsoft.com/en-us/library/system.windows.forms.textbox.aspx

質問を誤解しています。少しグーグルしてみてください:

http://social.msdn.microsoft.com/Forums/en-US/csharpgeneral/thread/5213874a-603e-4378-835d-f6488f382d47

于 2013-03-28T15:34:26.103 に答える