首页 > 解决方案 > 如何从串行端口获取“总线报告的设备描述”和“已连接”?

问题描述

我有一台内置蓝牙的平板电脑。我有一个串行设备,我使用 DTE 设置连接到蓝牙到串行转换器。准确地说是这个:在此处输入链接描述

它创建/使用两个串行端口。带有 -dev 的那个是使用的那个,因为平板电脑是建立连接的主要设备。在设备管理器中,两个 com 端口都显示为“Bluetooth com 设备”,但如果不查看属性然后选择“Bus Reported Device Description”,您将无法分辨哪个是 -dev 设备。我需要找到一种使用 vb.net 循环端口的方法,检查“总线报告的设备描述”并选择该 com 端口,如果该描述中有 -dev 则打开它。

有没有办法做到这一点?

其次,一旦建立连接,因为它使用串行com端口,一旦我打开com端口,它当然会说“打开”,但它会显示即使蓝牙设备没有真正连接。有没有办法在上面的同一组属性中看到“已连接”?它似乎能够判断它是否真的连接,而不仅仅是 com 端口本身是打开的。

标签: vb.netbluetooth

解决方案


如果您可以使用 Powershell 脚本,那么这是我为设备整理的解决方案,我需要获得它的“总线报告的设备描述”:

(Get-WMIObject Win32_PnPEntity | where {$_.name -match "ethernet"}).GetDeviceProperties("DEVPKEY_Device_BusReportedDeviceDesc").DeviceProperties.Data

推荐阅读