2010-11-22 6 views
7

Ich möchte ein einfaches Programm schreiben, das einen Barcode liest und sowohl den Barcode als auch den Zeitpunkt des Einscannens notiert. Leider kann ich nicht garantieren, dass das Programm den Fokus hat, wenn der Code gescannt wird. Ich verstehe, dass die meisten Barcode-Scanner wie eine Tastatur funktionieren. Wenn das Programm keinen Fokus hat, werde ich Probleme haben. Wie können wir damit umgehen? Hinweis: Ich würde es vorziehen, dies in Java zu programmieren, aber ich kann .net verwenden, wenn die Bibliotheken es einfacher machen. Ich habe auch keinen speziellen Scanner im Kopf, wenn also ein Modell besser dafür geeignet ist, würden Informationen geschätzt werden. Ich habe sceen this question, aber es geht davon aus, dass die App den Fokus hat.Barcode lesen, wenn das Programm keinen Fokus hat?

Antwort

2

Die meisten Barcode-Scanner verhalten sich wie eine Tastatur und erfordern daher, dass die Verarbeitungsanwendung einen Eingabefokus hat. Es gibt jedoch auch Barcodescanner, die an den seriellen Port angeschlossen oder mit dem USB verbunden sind und eine virtuelle serielle Schnittstelle bieten.

Auf diese Scanner muss über die reale oder virtuelle serielle Schnittstelle zugegriffen werden. Für Java müssen Sie die Java Communications API oder eine andere Bibliothek eines Drittanbieters verwenden, die Zugriff auf die seriellen Ports bietet, da dies mit der Standard-Java-API nicht möglich ist.

+0

Einige fungieren auch als USB-HID. – Brad

+0

@Brad: Dies kann die Tastaturemulation sein oder auch nicht. – PleaseStand

+0

@idealmachine, ja, das habe ich gemeint. USB HID mit eigenem Berichtstyp. – Brad

2

Die meisten Tastaturkeil-Barcodescanner können (über Konfigurationsbarcodes) so konfiguriert werden, dass ein Tastendruck einer Funktionstaste emuliert wird, bevor die Barcodedaten gesendet werden. Die Windows-API enthält eine RegisterHotkey function, um systemweite Hotkeys zu definieren. Wenn der Hotkey gedrückt wird, können Sie den Fokus auf das Fenster Ihres Programms richten, um den Barcode zu lesen.

Eine Google-Suche zeigt eine library zur systemweiten Hotkeys von Java zu registrieren. Es gibt auch eine question on this site darüber, die darauf hindeutet, dass es in Mac OS X keine öffentlich zugängliche Bibliothek dafür gibt, obwohl einer der Antworten einen Link zu einer solchen Bibliothek gepostet hat, die er entwickelt hat.

0

Nach einigen Untersuchungen zu diesem ich als Jarnbjo erwähnt mit einem virtuellen seriellen Port implementiert, ein Beispiel ist here (siehe meine Antwort).

Verwandte Themen