2011-11-22 7 views

回答

4

不幸的是,我不认为这是可能的,至少不是使用“仅Java”。

我见过的大多数条形码阅读器看起来就像电脑的键盘一样。如果您使用的条码阅读器不能“作为键盘”操作,并且可以与Java Communications API一起使用,那么您在此处还有一些其他选项。否则,我假设你正在使用键盘类型的扫描仪来解答这个问题的其余部分。

如果不是在一些用于读取条形码读取器输出的软件中,我可以打开记事本,将光标放在窗口中,扫描条形码,#将出现,就像我手动键入它们一样。

为了确定输入的字符来自条形码阅读器而不是键盘,您需要与OS进行较低级别的界面以确定使用哪个输入设备。据我所知,Java不为此提供任何API。您需要使用JNI进行调查,然后必须根据支持的操作系统对其进行编写和维护。

另一种可能性是某些扫描仪将生成特殊的标题数据作为扫描的一部分。这可以配置到扫描仪中,或者可以是条形码本身的一部分。无论哪种情况,都可以注册键盘监听器来侦听这些数据,然后进行适当的处​​理。不幸的是,从安全角度来看,这样做效果不佳,因为这意味着还有其他方式可以在不实际扫描条码的情况下重复输入数据。 (就此而言,如果担心安全问题,条形码是错误的方法 - 因为条形码可以很容易地复制或生成。)

+0

他们仍然制作RS232/DB9条码扫描仪,也许只能从数据中提取数据COM1? – charlesbridge

+0

@ziesemer非常感谢您的回复,我非常感谢 – modafarhan