访问牙虚拟COM口窗口没有手册的配对
-
05-09-2019 - |
题
我需要连接到一个蓝牙设备通过虚拟COM口创造了在窗。这很容易时的港口已经创造过手动配对的程序。但我想我应用程序,以缓解用户的手册,配对的设备。我想本中的所有设备的范围,允许用户选择一种,然后建立的虚拟COM端口连接的与所选择的设备。我不试图避免配对过程本身,而是我想要援引我的应用程序。
我开始越来越熟悉 Microsoft牙API.和那些怀疑出现了。我一直想知道什么会发生,如果某些用户将使用不同(比微软)蓝牙?是Microsoft的API真正的蓝牙API,它必须实施通过的任何其他用蓝牙堆提供者?或者说每一个提供者拥有其自己的API,与微软的仅仅是一个许多其他的?
解决方案
谢谢大家对有价值输入。我想总结一下,我发现迄今。微软蓝牙API不是操作系统API。书面反对它的应用不会与任何其他蓝牙堆栈的正确配合。看来,这是意在与多个栈合作应用程序需要提供一些堆栈抽象层,和堆栈特定代码的所有them.The其他的解决办法是允许用户对蓝牙设备的手动配对,最终创造出一些虚拟设备在操作系统(例如,COM端口)。然后,应用程序可以使用这样的设备的标准接口。
其他提示
如果你可以改变到使用。净:-我可以推荐我们的图书馆 32feet.NET.对于明确的配对有BluetoothSecurity.PairDevice.我们还可以创建虚拟口,例如:
BluetoothClient cli = new BluetoothClient();
BluetoothDeviceInfo[] list = cli.DiscoverDevices();
BluetoothDeviceInfo selected = GetUserToSelectOne(list);
BluetoothSecurity.PairDevice(selected, pin);
// Ask Win32 to create a virtual serial port
selected.SetServiceState(BluetoothService.SerialPort);
但是我真的不喜欢的虚拟串口所以我总是建议人们使用正常套接字连接,使用我们的BluetoothClient类,它将自动处理的一个配对请求,如果需要的话。
在Win32我们支持成堆,Widcomm/博通,并摆脱.在Widcomm没有支持SetServiceState有没有和他们的API没有支持应对配对 请求.摆脱应该支持两个。
一个简短的用户指南是在 32feet.NET —用户指南, 和所有这类文件提供主站点 http://32feet.net, ,Widcomm文件是只有在我们 代码存储库 的时刻。