在c#中拦截蓝牙读取的HID设备

本文关键字:读取 HID 设备 | 更新日期: 2023-09-27 18:07:56

我需要直接读取条形码读取器的读数。它遵循USB HID规范,使用蓝牙作为传输层。

我检测到蓝牙设备使用:

    var selector = Windows.Devices.Bluetooth.BluetoothDevice.GetDeviceSelector();
    var devices = await DeviceInformation.FindAllAsync(selector);

但我不知道如何要求控制。对于RfcommDevices,我做了:

    var dev = RfcommDeviceService.FromIdAsync(DeviceId);
    var rfcommService = await dev;

,然后我可以打开一个套接字。现在,它是不同的,它是基于HDI,我不清楚我怎么能要求控制。

我需要做的是读取条形码读取的任何内容并管理它。我不希望Windows直接管理条形码阅读器,好像它是一个键盘。

在c#中拦截蓝牙读取的HID设备

您不能通过蓝牙直接声明对HID设备的控制。这是为了保护用户隐私。你应该使用Windows.Devices.HumanInterfaceDevice api集来连接到你的HID设备并与之交互。