我正在寻找一种通过蓝牙将Windows Mobile设备连接到PC并将其作为HID设备(即键盘或鼠标)显示在PC上的方法.我想这主要是修改Windows Mobile设备上可用的蓝牙配置文件,以便它暴露蓝牙HID接口……这甚至可能吗?它需要一个自定义驱动程序或WinMo设备上的东西?在大多数情况下,我的主要要求是它不需要PC端的任何特殊软件,它应该只使用内置蓝牙堆栈并认为WinMo设备实际上是HID设备而不是PDA.
我有具有条形码扫描功能的WinMo设备,所以我希望能够使用PDA将条形码扫描到PC,使用该HID接口.
另外,我主要使用C和C#,所以如果可以用其中一种语言来完成,那将是最好的.
有什么建议么?
这完全有可能.只需启动一个使用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 } } }
问候,tamberg