2010-11-22 18 views
7

私は、バーコードを読み取る単純なプログラムを書いて、バーコードとスキャンされた時間を書き留めたいと思います。残念ながら、コードがスキャンされたときにプログラムにフォーカスがあることを保証することはできません。私の理解では、ほとんどのバーコードスキャナはキーボードのように動作するので、プログラムに焦点がない場合は問題が発生します。これに対処する方法は何ですか?注記私はこれをJavaで記述したいと思っていますが、ライブラリがより簡単になった場合は.netを使うことができます。私はまた、特定のスキャナを念頭に置いていないので、あるモデルがこれでうまくいくならば、その情報は高く評価されます。私はsceen this questionを持っていますが、アプリケーションにフォーカスがあることを前提としています。プログラムにフォーカスがないときにバーコードを読み取りますか?

答えて

2

ほとんどのバーコードスキャナはキーボードのように動作し、処理アプリケーションに入力フォーカスが必要です。しかし、バーコードスキャナもあり、シリアルポートに接続するか、USBに接続し、仮想シリアルポートインターフェイスを提供します。

これらのスキャナには、実際のシリアルポートまたは仮想シリアルポートからアクセスする必要があります。 Javaの場合、標準のJava APIでは不可能なため、Java Communications APIまたはシリアルポートへのアクセスを提供するその他のサードパーティライブラリを使用する必要があります。

+0

一部はUSB HIDとしても機能します。 – Brad

+0

@ブラッド:キーボードエミュレーションを意味する場合もあれば、そうでない場合もあります。 – PleaseStand

+0

@idealmachine、はい、それは私が意味していたことです。独自のレポートタイプのUSB HID。 – Brad

2

ほとんどのキーボードウェッジバーコードスキャナは、バーコードデータを送信する前にファンクションキーのキー入力をエミュレートするように(構成バーコードを介して)構成することができます。 Windows APIには、システム全体のホットキーを定義するためのRegisterHotkey functionが含まれています。ホットキーを押すと、プログラムのウィンドウに焦点を当ててバーコードを読み取ることができます。

Google検索では、libraryが表示され、Javaのシステム全体のホットキーが登録されています。 question on this siteもあります。回答者の1人が、彼が開発している図書館へのリンクを掲載していましたが、Mac OS Xで公開するライブラリが公開されていないことが示唆されています。

0

仮想シリアルポートで言及されたjarnbjoとして実装されたこれに関するいくつかの調査の後、例はhereです(私の答えを参照)。

関連する問題