获取USB扫码器输入

USB扫码器相当于键盘输入
重写onKeyDown方法监听输入

int count = 1;
StringBuffer sb = new StringBuffer();
TextView tv;
    
public static String asciiToString(String paramString) {
        StringBuffer localStringBuffer = new StringBuffer();
        localStringBuffer.append((char) Integer.parseInt(paramString));
        return localStringBuffer.toString();
}

    public boolean onKeyDown(int paramInt, KeyEvent paramKeyEvent)//监听键盘按下
    {
        if (this.count > 30) {
            this.count = 0;
            this.sb.delete(0, this.sb.length());
        }
        this.sb.append(asciiToString(String.valueOf(paramKeyEvent.getUnicodeChar())));//每次按下获取键值后存贮
        if (paramKeyEvent.getKeyCode() == 66)//检测到回车后把数据刷到界面
        {
            //    PrintStream localPrintStream = System.out;//不带这个会丢数据 带了不丢。
            int i = this.count;
            this.count = (i + 1);
            //    localPrintStream.println(i);//不带这个会丢数据 带了不丢。
            this.tv.setText(this.sb);
        }
        return super.onKeyDown(paramInt, paramKeyEvent);
    }
  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在使用 WinForm 监听 USB 扫码输入时,可以采用以下步骤: 首先,我们需要使用 C# 代码编写 WinForm 窗体应用程序。在设计窗体时,我们可以添加一个文本框用于显示扫码输入的内容。同时,我们还需要添加一个事件监听来监听 USB 扫码枪的输入。 在代码中,我们可以使用 `System.IO.Ports` 命名空间中的 `SerialPort` 类来监听 USB 扫码输入。我们先实例化一个 `SerialPort` 对象,并设置相关的属性,如扫码枪的串口号、波特率、奇偶校验等。然后,我们可以通过绑定 `DataReceived` 事件来获取输入数据。 在 `DataReceived` 事件处理程序中,我们可以将扫码枪的输入数据读取到一个字符串变量中,并通过委托将其显示在窗体的文本框内。 在窗体的加载事件中,我们需要打开串口连接以接收扫码枪的输入。在窗体关闭事件中,我们应该关闭串口连接。 最后,我们可以运行该应用程序并连接 USB 扫码枪。当扫码输入时,应用程序将能够监听到数据并显示在窗体的文本框中。 需要注意的是,不同的扫码枪可能有不同的通信协议和设置,因此在监听和解析扫码输入数据时,可能需要进行一些额外的处理和适配。 通过以上步骤,我们可以实现在 WinForm 中监听 USB 扫码输入并对其进行处理。 ### 回答2: 要在WinForm应用中实现监听USB扫码输入,需要使用C#语言和相关的API。首先,需要在WinForm界面中添加一个文本框控件来显示扫码输入数据。 然后,需要使用`System.Management`命名空间下的`ManagementEvents`类来监听USB设备的插拔事件。可以编写一个方法来订阅USB设备的插拔事件,并在事件处理程序中判断扫码枪是否插入或拔出。如果扫码枪插入,就需要继续进行后续操作。 接下来,需要使用`System.IO.Ports`命名空间下的`SerialPort`类来监听串口数据输入。由于大多数USB扫码枪模拟为串口设备,可以通过设置串口名称、波特率等参数来与扫码枪进行通信,并在数据接收事件中获取扫码输入数据。 在WinForm中,可以通过订阅`SerialPort`类的`DataReceived`事件来监听串口数据输入。在事件处理程序中可以将获取到的数据写入到之前添加的文本框控件中,以实现实时显示扫码输入数据。 在应用程序退出时或扫码枪拔出时,需要及时释放相关资源,关闭串口连接等。可以通过在`FormClosing`事件中进行相关操作来确保资源的释放。 综上所述,以上是实现WinForm监听USB扫码输入的一般步骤。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值