2

我正在寻找一种通过蓝牙将 Windows Mobile 设备连接到 PC 并将其作为 HID 设备(即键盘或鼠标)显示在 PC 上的方法。我想这主要是修改 Windows Mobile 设备上可用的蓝牙配置文件以便它公开蓝牙 HID 接口的问题......这甚至可能吗?它是否需要自定义驱动程序或 WinMo 设备上的其他东西?在大多数情况下,我的主要要求是在 PC 端不需要任何特殊软件,它应该简单地使用内置的蓝牙堆栈,并认为 WinMo 设备实际上是 HID 设备而不是 PDA。

我有具有条形码扫描功能的 WinMo 设备,所以我希望能够使用 PDA 使用 HID 接口将条形码扫描到 PC。

另外,我主要使用 C++ 和 C#,所以如果可以用其中一种语言完成,那将是最好的。

有什么建议么?

4

1 回答 1

2

这是完全可能的。只需启动使用 HID 服务 Guid {00001124-0000-1000-8000-00805f9b34fb} 注册的蓝牙服务器。如果设备支持 Microsoft 蓝牙堆栈,您可以使用 Peter Foot 出色的 .NET CF 库(http://32feet.net/)和 BluetoothService.HumanInterfaceDevice;

更新:

使用 Peter Foot 的库,服务器看起来像这样:

using System.IO;
using InTheHand.Net.Sockets;
using InTheHand.Net.Bluetooth;

// ...

BluetoothListener l = new BluetoothListener(
    BluetoothService.HumanInterfaceDevice);
using (l) {
    BluetoothClient c = l.AcceptBluetoothClient();
    using (c) {
        Stream s = c.GetStream();
        using (s) {
            // send HID bytes
        }
    }
}

问候,坦伯格

于 2008-11-11T17:27:00.013 回答