Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
禁用键盘输入,只允许使用Java读取条形码_Java_Barcode - Fatal编程技术网

禁用键盘输入,只允许使用Java读取条形码

禁用键盘输入,只允许使用Java读取条形码,java,barcode,Java,Barcode,您如何禁用键盘输入,并限制仅使用Java的条形码阅读器?不幸的是,我认为这是不可能的,至少使用“仅Java”是不可能的 我见过的大多数条形码阅读器对计算机来说就像一个键盘。若您使用的条形码阅读器不能“像键盘一样”工作,并且可以和一起使用,那个么您在这里有一些额外的选项。否则,我假设您在本答案的其余部分使用键盘类型扫描仪 如果不是在一些为读取条形码阅读器输出而编写的软件中,我可以打开记事本,将光标放在窗口中,扫描条形码,然后#将显示,就像我手动输入一样 为了确定输入的字符来自条形码阅读器而不是键盘

您如何禁用键盘输入,并限制仅使用Java的条形码阅读器?

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

我见过的大多数条形码阅读器对计算机来说就像一个键盘。若您使用的条形码阅读器不能“像键盘一样”工作,并且可以和一起使用,那个么您在这里有一些额外的选项。否则,我假设您在本答案的其余部分使用键盘类型扫描仪

如果不是在一些为读取条形码阅读器输出而编写的软件中,我可以打开记事本,将光标放在窗口中,扫描条形码,然后#将显示,就像我手动输入一样

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


另一种可能性是,某些扫描仪将生成特殊的标题数据作为扫描的一部分。这可以配置到扫描仪中,也可以是条形码本身的一部分。在任何一种情况下,都可以注册键盘侦听器来侦听这些数据,然后对其进行适当的处理。不幸的是,从安全角度来看,这并不能很好地工作,因为这意味着有其他方法可以在不扫描条形码的情况下重复输入这些数据。(就此而言,如果安全是一个问题,那么条形码是一种错误的方法,因为条形码很容易被复制或生成。)

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

我见过的大多数条形码阅读器对计算机来说就像一个键盘。若您使用的条形码阅读器不能“像键盘一样”工作,并且可以和一起使用,那个么您在这里有一些额外的选项。否则,我假设您在本答案的其余部分使用键盘类型扫描仪

如果不是在一些为读取条形码阅读器输出而编写的软件中,我可以打开记事本,将光标放在窗口中,扫描条形码,然后#将显示,就像我手动输入一样

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


另一种可能性是,某些扫描仪将生成特殊的标题数据作为扫描的一部分。这可以配置到扫描仪中,也可以是条形码本身的一部分。在任何一种情况下,都可以注册键盘侦听器来侦听这些数据,然后对其进行适当的处理。不幸的是,从安全角度来看,这并不能很好地工作,因为这意味着有其他方法可以在不扫描条形码的情况下重复输入这些数据。(就此而言,如果出于安全考虑,条形码是一种错误的方法,因为条形码很容易被复制或生成。)

当无法扫描条形码时会发生什么?实际上,系统不工作,我正在开发一个安全系统,该系统的一个主要方面是用户不能使用键盘输入他们的信息。当条形码无法扫描时会发生什么?实际上,该系统不工作,我正在开发一个安全系统,该系统的一个主要方面是用户不能使用键盘输入他们的信息。他们仍然生产RS232/DB9条形码扫描仪,可能只从COM1提取数据?@ziesemer非常感谢您的回复,我非常感谢他们仍然生产RS232/DB9条形码扫描仪,也许只是从COM1获取数据?@ziesemer非常感谢您的回复,我非常感谢