0

我正在使用 C# 在 Windows Forms 2.0 中使用 Microsoft.NET 文本框来获取来自基于 USB 的条形码扫描仪的数据。用户不希望文本框接受来自键盘的输入。如何应用过滤器,以便在此会话期间仅接受来自 USB 的输入并禁用键盘?

谢谢。

一小时后添加评论:我得到了一些关于这个这个我需要学习的东西。

对于那些想知道为什么会出现这种冗余的人,用户还需要一个选项来将键盘配置为活动/非活动。

4

1 回答 1

5

你不能。条形码扫描仪是一个键盘(某种)。它以与键盘完全相同的方式输入文本字符。

我想一种选择是断开物理键盘。除此之外,您可以“尝试”根据硬件序列号阻止输入。但是这样做的问题是a)它不可扩展,并且b)如果您的扫描仪死了,您必须对您的软件进行监控。

还要记住,条形码只是人类可读字符的行表示。这样,如果您的扫描仪无法读取它们,您可以手动输入条形码下方的小数字。

我会回击并告诉老板这是一个坏主意(当然取决于请求的上下文)。

于 2010-12-20T05:36:01.453 回答