電子書籍の厳選無料作品が豊富!

barcode Reader(HID)は、Keyboard interfaceで
USBによってPCに接続されています。
通常であるならな、キーボードと同じように、
アクティブフォーカスしている部分にバーコード
がキー打ちされます。

 キーログだと、keyboardなのかBarcode Reader
なのか不明なため、USBを指定してデータを取得
したいと考え、WEBで調べてみると、
・UUSBD
・libusb
 の2つがあるようです。もっと沢山あるのですが、
日本語解説や導入実績が多くみられるUUSBDを使って
みましたが、どうもうまくいきません。

現状
1.下記サイトを参考に作成しました。
http://www-online.kek.jp/~keibun/cc77usb/uusbd.htm Hirofumi Fujii様
http://www.otto.to/~kasiwano/   柏野 政弘様

2.idVenvor/idProduct(USBviewにて確認済み)は設定されており、
デバイスマネージャーでUUSBD用USBデバイスとして認識されている。

3.barcodeを読んだときのエラー内容:
Hirofumi Fujii様のプログラムを実行すると
Read Length mismatch. 0
がエラー出力されます。
バーコードは、ヘッダー・シンボル識別子はなく、ターミネータ[cr]のみ
です。
(バーコード:13文字[13byte]+ターミネーター[1byte]であるため、BYTE bIdat[14])

なんとか解決する方法はありませんでしょうか。
宜しくお願い致します。

開発環境
OS:Windows XP Pro SP2
IDE:Visual C++ 6.0 SP6
barcode Reader: KEYENCE:BL-N70 (Metrologic)

A 回答 (1件)

Windows Xp以降であれば、


Raw Input API が実装されているので、
複数のキーボードやマウスやHIDデバイスからの入力がどのデバイスのものなのかを知ることが出来るようです。
MSDN Raw Input
http://msdn2.microsoft.com/en-us/library/ms64553 …

このAPI群を利用すれば、バーコードリーダーのデバイスドライバーを変更せずに、キーボードとバーコードリーダーの入力を区別できそうです。

http://www.codeproject.com/cs/system/rawinput.asp
にC#でのこのAPI群を利用した実装例があります。

参考URL:http://msdn2.microsoft.com/en-us/library/ms645536.aspx,http://www.codeproject.com/cs/system/rawinput.asp
    • good
    • 0
この回答へのお礼

返答が遅くなり申し訳ありませんでした。
参考になりそうな部分が網羅されているようですので、
一度考えてみますが、.NETでないと開発できないさそう
なのかネックになりそうです。

お礼日時:2007/10/05 19:50

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!