Barcode Reader(HID)からのデータ取得方法

このQ&Aのポイント
  • Barcode Reader(HID)は、USBを介してPCに接続され、キーボードのようにアクティブフォーカスされた部分にバーコードがキーボード入力されます。
  • バーコードリーダーのデータを取得するためには、UUSBDやlibusbといったライブラリが利用されますが、日本語の解説や導入実績が多いUUSBDが一般的です。
  • しかし、特定のプログラムを実行した際にエラーが発生することがあり、バーコードの読み取りエラーの原因を調査する必要があります。
回答を見る
  • ベストアンサー

Barcode Reader(HID)からのデータ取得

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)

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

Windows Xp以降であれば、 Raw Input API が実装されているので、 複数のキーボードやマウスやHIDデバイスからの入力がどのデバイスのものなのかを知ることが出来るようです。 MSDN Raw Input http://msdn2.microsoft.com/en-us/library/ms645536.aspx この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
trigene
質問者

お礼

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

関連するQ&A

  • カードリーダーの認識

    こんにちは。 カードリーダーが認識してくれません。 不明なディバイスと表示され「推奨:デバイスを接続しなおしてください。それでもデバイスが認識され倍場合は交換してください」と表示されます。 デバイスとはUSBカードリーダーのことを指すのでしょうか? カードリーダーが故障してるのでしょうか?よろしくお願いします。 XP SP3

  • バーコードがうまく読めない

    WELCOME DESIGN社のUSBee-1000と言う、USB接続のBARCODEリーダーを 使用しています。  PCでBARCODEを読み込んで、現場の管理に使用目的で購入しましたが うまく動作しません。 どなたか経験者の方がいらっしゃいましたら 教えてください。 <不具合症状>  読み取るBARCODEはCODE128だと思います。  メモ帳で読み取る時はまったく問題なく、スムーズに正確に 読み取ります。  しかし、エクセルで読み取ると、桁落ちしてうまく読みません。 12桁のバーコードが11桁になってしまいます。  エクセルに問題があるのか、BARCODEリーダーの設定に問題が あるのか、解りません。  解る方がいましたら、教えてください。 以上

  • スマートメディアリーダーのソフトウェアがインストール出来ません。

    OSは98です。スマートメディアリーダーのデバイスドライバをインストールしました。検索場所の指定がDドライブに出来なくて、Eに指定しマイコンピュータにリムーバブルディスク(E)のアイコンがあります。それを開こうとしても「デバイスの準備が出来てません」のエラーが出ます。アンインストールしてやり直そうとしても「ファイルが見つかりません」でアンインストールも出来ません。 尚、リーダーは「マイクロテック・インターナショナル株式会社」のFSM-03です。また、どうしてもリーダーが 使えない場合はUSBケーブルを買いたいのですが、これもデバイスをインストールしなければならないのでしょうか?

  • カードリーダー

    携帯の画像メモリがいっぱいになったのでSDカードに落とし、 さらにPCに転送したいのですが(携帯はvodafoneのJT-10を使っています。) なぜか、USBに差し込むと「高速ではないハブに接続している高速USBデバイス」 と言う表示が出て SDカードをカードリーダーに差し込んで、転送が終了すると 画面が青くなって英文がたくさん出て再起動状態になってしまいます。 BUFFALOのカードリーダー MCR-SD-LT/U2を使用しています。 OSはWindowsXPのXP2です。 その前に使用したときはSP2になる前だったので 問題はなかったのですが・・・・ なにぶん再起動とかなっちゃうのは見ていてびっくりしてしまうのでよい方法ありましたら教えていただけますか? よろしくお願いいたします。

  • microSDをカードリーダーで読み込めません

    初心者です。よろしくお願いします。 microSDを使用できる携帯電話を買い、 ネットオークションでSanDisk Transflash・microSD(1G)とSDメモリとして使えるアダプター(?)、カードリーダー(USB2.0と書いてあります)をセットで購入しました。 携帯電話でmicroSDをフォーマットし、本体データをmicroSDに移したりすることは可能だったのですが、PCに保存してあるファイルなどを移し変えようと、カードリーダーで読み込もうとしたところ、 I/O デバイスエラー となり、読み込むことができません。 また、PCでのフォーマットもエラーとなります。 他のSDカードはそのカードリーダーで読み込むことができました。 どのようにすれば使えるようになるのでしょうか? どなたか回答お願い致します。

  • メモリーリーダライタをPCが認識しない

    USB2.0メモリーリーダライタ(MR-A39N)を購入しましたが、PCにさしても認識しません。再起動など試してみましたが駄目でした。 設定でUSBの状態を確認すると「不明なUSBデバイス(デバイス記述子要求の失敗)ドライバーエラーとなっています。 どうしたらよいでしょうか? ※OKWAVEより補足:「エレコム株式会社の製品」についての質問です。

  • バーコードリーダーからの印刷ができない

    ■製品名を記入してください。 【  TD-4420DN      】 ■どのようなことでお困りでしょうか?  相談したいこと、トラブルに至った経緯、試したこと、エラーなどを教えてください。 【  純正以外のバーコードリーダー(NETUM バーコードリーダー USB 1D バーコードスキャナー ワイヤレス2.4GHz)を使用してリーダーからのバーコード印刷をしたいが、うまくいかない。p-touchテンプレートコマンド(初期設定+設定開始)のバーコードを読み取ることが出来ないところで止まっている。リーダー⇒USBメスメスのコネクタ⇒シリアルケーブル⇒プリンターでつないでいる状態。機種設定に問題があるのでしょうか?         】 ■お使いの環境について教えてください。 ・パソコンもしくはスマートフォンのOSは何ですか? (例)Windows・MacOS・iOS・Android 【 Windows11       】 ・どのように接続されていますか? (例)有線LAN・無線LAN・USBケーブル・bluetooth 【        】 ・関連するソフト・アプリがあれば教えてください。 【        】 ・電話回線の種類は何ですか? (例)アナログ回線・ISDN回線・ひかり回線・IP電話 【        】 --------------------------------------------- ※以下は記入いただく必要はありません。 ■閲覧していたFAQのタイトル 【PT/QL/RJ/TDシリーズ】データベース置換印刷機能の使い方(バーコードリーダー利用)|ブラザー ■閲覧していたFAQのURL https://faq.brother.co.jp/app/answers/detail/a_id/12788 ※OKWAVEより補足:「ブラザー製品」についての質問です。

  • USBカードリーダーの取り外しがエラー

    こんにちは! デジカメ写真の取り込みにUSBカードリーダーを使用しているのですが、作業を終えて 「ハードウェアの安全な取り外し」から外そうとすると 「汎用ボリュームにまだアクセスしているためデバイスを停止できません」とエラーが表示されます。 手順としては 取り込みを終える→マイコンピューターよりリームバブルディスク右クリック→取り出しをクリックしてピクチュアーカードを取り出す→タスクトレイのハードウエアの安全な取り外しマークをクリック→USB大容量記憶装置デバイスが表示され停止ボタン→USB大容量記憶装置と汎用ボリューム(F)とMulti Flash Reader USB Deviseの3つが表示→3つのうちどれかを選ぶ ですが、3つのどれを選んでも上記のようなエラーが出ます。 取り込みを終えたらソフト(スマートホビー)は閉じるで終了させてあります。 カードリーダーのアクセスランプはピクチュアカードを外した時点で消灯しています。 何故このようなエラーが表示されるのでしょうか? OSはXP 編集ソフトはスマートホビー(カードリーダーを接続すると勝手に起動します) デジカメはFinePix F455 カードリーダーはBUFFALO です。 ご教示宜しくお願い致します。

  • カードリーダでエラーが出ます

    いつもお世話になっています。 携帯で使ってるminiSDカードの写真や音楽をパソコンに移したいと思って先日カードリーダー(サンワサプライのUSB2.0マルチカードリーダライタ)を買いました。 パソコンと繋げてカードを入れて、リムーバブルディスクをクリックしても「I/Oデバイスエラー」と出ます。携帯ではちゃんと見れます。 なにが原因なのでしょうか?よろしくお願いします。

  • カードリーダ  デジカメ を認識しない

    初めて質問させていただきます。 デスクトップPC: VAIO VGC-M50B/S OS: XP HOME EDITION  SP3 カードリーダ:ELECOM MR-A41HWH デジカメ:FUJIFILM FinePix f100fd Fine Pixf100fdはWindows XPのOS標準ドライバに対応しており通常は同梱のCDから別途ドライバをインストールしなくてもカメラを認識するはずです。(C:/WINDOWS/SYSTEM32/PTPUSB.DLL は有りました。なぜ認識しないのでしょうか。。 ) ところがカメラのUSBケーブルをパソコン本体に直接接続すると「新しいハードウェアの検出ウィザード」が開かれ、インストールが始まり、「このハードウェアをインストールできません ハードウェアのインストール中にエラーが発生しました データが無効です」となってしまいます。 デバイスマネージャーで見ると「?!USB PTP Camera」のプロパティは「このデバイスは正しく構成されていません。(コード1)」。デバイスの使用状況は”このデバイスを使う(有効)”。になっています。 これを削除しPCを再度立ち上げて 「ドライバの再インストール」をクリックし、「自動的に」を選んでもダメ、「一覧または特定の場所からインストールする」「次の場所を含める」だけをクリックし、C:WINDOWS\system32 と入力してもダメ、CDを選んでもダメ、同じエラーです。 諦めて、カードリーダを購入しました。 ところが、それも同じエラーとなり、認識されません。 デバイスマネージャで見ても「!?」になっています。 大がっかりです。 ウィンドウズの自動更新をしたぐらいで何か追加した覚えもないのですが 何か手立てはありませんでしょうか。困っています。 PCが壊れてしまったのでしょうか。

専門家に質問してみよう