2011-07-16 19 views
0

私は非常にシンプルなUSBデバイスを持っています。ドライバは提供されておらず、エディタを開き、デバイスをマニピュレートする手順があります(デバイスをバイパスして発行を混乱させないでください)。シンプルなUSBデバイスから値を読み取る方法は?

もちろん、Windowsでメモ帳を開いてデバイスを操作すると、テキスト文字列がメモ帳に表示されます。

これはstdinに書いているようです。今、私はこの入力を受け取り、それに作用するDelphiプログラムを作成したいと思います...

どうすればよろしいですか?

フォームがKeyDown/KeyUp/KeyPressイベントを受信して​​いないようです。これは、デバイスが私に「中断」するのを許すので残念だ。しかし、多分私は投票する必要がありますか?頻繁に(頻繁に)私はstdinから読むことができますが、何も読まない場合はどうしますか?

私はそれをはっきりと説明してくれることを願っています。何かアドバイス?


更新:おっと、私の悪い - 私はTrueにフォームのKeyPreviewのを設定するのを忘れたので、私はKeyDownイベント/ keyUpイベント/のKeyPressイベントを受信して​​いませんでした。しかし、彼が助けようとしたので、そしてHIDが面白そうに見えるので、私はグレッグに質問を与えています。ありがとう、グレッグ。

+0

「メモ帳を開いてデバイスを操作すると、メモ帳にテキスト文字列が表示されます。ファイルを開くダイアログを使用してデバイス上のファイルを開くことを意味し、メモ帳に表示されるファイルの内容は必要な文字列ですか?もっと正確にしてください。その場合、デバイス名にTFileStreamを開いて読み込みます。 – mj2008

+1

あなたができることは、USBデバイスのドキュメントを読むことです。 – kludg

答えて

1

あなたのデバイスがHID (Human Interface Device) USB classを使用しているように聞こえ、キーボードのように動作しています。だから、あなたはいつものように正確にキーボードから読み込み、適切な方法でデバイスを操作し(バーコードをスキャンするなど)、打ち込まれたかのように打鍵が行われます。

+0

+1ありがとうございます。 DelphiのHIDコンポーネントまたはソースコードのサンプルを検索します。 – Mawg

+0

しかし、最初の一見HIDで、このアプリケーションのために過度のものではないかと思います。いずれにしても、私はHIDがもっと興味深いように読むでしょう。ありがとう。 – Mawg

+0

おっと、私の悪い - 私はフォームのKeyPreviewをTrueに設定するのを忘れてしまったのでKeyDown/KeyUp/KeyPressイベントを受け取っていませんでした。しかし、あなたが助けようとしたため、そしてHIDが面白そうに見えたので、私はあなたに質問を与えています。ありがとう。 – Mawg

関連する問題