2

USBインターフェースを備えたバーコードスキャナーを持っているので、HIDとして表示されます。

最初の文字にブレークポイントを設定する必要があるのには理由があります。

これにより、Delphi IDEが前面に表示され、ブレークポイントで停止し、残りのバーコードがキーボードの前面に入力されたかのようにコードに挿入されます(USBスキャナーのように)ちょうど別のHID)。

これを回避する方法はありますか?または、入力のソースに関する初期チェックを追加しますか?

それは私をとても苛立たせ、私は今RS232インターフェースを備えたスキャナーを探しています。

4

1 に答える 1

1

問題は、HID「デバイス」が「レポート」と呼ばれるパケットで情報をコンピューターに送り返すことです。
マグスワイプまたはバーコードスキャナーの場合、「レポート」には番号全体が含まれます。

つまり、文字ごとのレポートではなく、文字列全体を一度に受信します。(マグスワイプの場合、同じレポートで2つまたは3つのトラックすべてを受け取ります)。

したがって、コードは「最初の文字で」壊れるのではなく、「レポート全体で」壊れます。残りのキャラクターがそこにいるという事実は、ボーナスと考えることができます(それらを見たくない場合は、そうする必要はありません)。ただし、後続のキャラクターの「レポート」はこれ以上受信されません。

バーコードを一度に知りたくない理由は想像できません。ただし、ほとんどのマグスワイプおよびバーコードスキャナーは、一般的なHIDデバイスではなく、キーボードをエミュレートするように構成できます。その場合、複数のWM_KEYDOWNメッセージを受信します。

于 2012-05-08T21:27:09.273 に答える