我正在编写一个C#POS(销售点)系统,它从键盘楔形磁卡读卡器输入.这意味着输入从磁条读取的任何数据都会被输入,就像它在键盘上非常快速地输入一样.目前我通过附加到KeyPress事件并寻找一系列包含刷卡哨兵角色的非常快速的按键来处理这个问题.
有没有更好的方法来处理这种输入?
编辑:设备只是将数据显示为击键,而不是通过其他驱动程序进行接口.此外,我们使用各种类型的设备,因此理想情况下,方法应独立于所使用的楔形特定模型.但是,如果没有其他选择,我将不得不做.
您可以做的一件事是,您应该能够配置您的楔形阅读器,以便它在字符串之前或之后呈现一个或多个转义字符.您可以使用这些转义字符来了解您即将拥有(或刚刚拥有)磁卡输入.
条形码读取器设备使用相同的技术,因此您的应用程序知道获得焦点或处理来自设备的数据输入.
这种方法的不利之处在于您必须正确配置外部设备.这可能是部署问题.
这假设您的设备只是将数据显示为击键,而不是通过其他驱动程序进行接口.