1

我正在使用32feet蓝牙库连接到支持串行端口配置文件 (SPP) 的设备。我尝试像这样连接:

 using (BluetoothClient client = new BluetoothClient())
 {
            var address = new BluetoothAddress(0xecfe7e11c3af);
            BluetoothEndPoint endPoint = new BluetoothEndPoint(address, BluetoothService.SerialPort);
            client.Connect(endPoint);
            var stream = client.GetStream();
            System.Threading.Thread.Sleep(10000);
 }

在调用 Connect 方法之前,一切都很好。此时,Windows 会中断程序流并显示气泡警报

“蓝牙设备正在尝试连接——点击允许”

此时,用户将被引导通过最终安装驱动程序的向导,并且蓝牙虚拟 COM 端口显示在设备管理器中。我不希望这种情况发生——我想简单地访问流并直接与设备通信,而无需 Windows 干预。这可能吗?可以做些什么来告诉 Windows 不参与我的业务?

我正在尝试连接到蓝牙 4.0 设备。过去我用 2.0 设备做过类似的事情,在这种情况下 Windows 不会干扰。

4

1 回答 1

0

看看http://SimpleBluetooth4Win.SourceForge.net

它是一个使用 Windows 蓝牙网络 API 的小型包装库,可以为您提供帮助。

https://msdn.microsoft.com/en-us/library/windows/desktop/aa362932%28v=vs.85%29.aspx

特别是如果您的蓝牙 USB 加密狗或蓝牙设备已被相应的驱动程序正确识别并且远程蓝牙设备已与 PC 配对,则您无需安装显示在设备管理器中的蓝牙虚拟 COM 端口,但您只需使用 write 或 read 调用直接访问流以与配对设备进行通信。

于 2015-03-28T14:47:54.887 回答