如何识别哪些COM端口通过C#程序连接到蓝牙?

如何识别哪些COM端口通过C#程序连接到蓝牙?,c#,bluetooth,virtual-serial-port,C#,Bluetooth,Virtual Serial Port,如何识别哪些COM端口通过C#程序连接到蓝牙 这是我的要求。让我们假设计算机中的COM端口连接到各种设备。假设我们有COM端口1到9,2、3、4、5和7目前已连接。现在我需要在端口2、3、4、5和7中确定哪些端口连接到蓝牙设备 我需要用一个C#程序来做这件事。有什么建议吗?请参阅简介使用WMI查看端口硬件id中的Bluetooth地址 C:\> Get-WmiObject -query "select DeviceID,PNPDeviceID from Win32_SerialPort"

如何识别哪些COM端口通过C#程序连接到蓝牙

这是我的要求。让我们假设计算机中的COM端口连接到各种设备。假设我们有COM端口1到9,2、3、4、5和7目前已连接。现在我需要在端口2、3、4、5和7中确定哪些端口连接到蓝牙设备

我需要用一个C#程序来做这件事。有什么建议吗?

请参阅简介使用WMI查看端口硬件id中的Bluetooth地址

C:\> Get-WmiObject -query "select DeviceID,PNPDeviceID from Win32_SerialPort"
DeviceID     : COM66 
PNPDeviceID  : BTHENUM\{00001101-0000-1000-8000-00805F9B34FB}\7&1D80ECD3&0&00803A686519_C00000003
… …
当然,我不喜欢虚拟COM端口,并且总是建议尽可能使用直接套接字/API连接

请参阅简介使用WMI查看端口硬件id中的Bluetooth地址

C:\> Get-WmiObject -query "select DeviceID,PNPDeviceID from Win32_SerialPort"
DeviceID     : COM66 
PNPDeviceID  : BTHENUM\{00001101-0000-1000-8000-00805F9B34FB}\7&1D80ECD3&0&00803A686519_C00000003
… …

当然,我不喜欢虚拟COM端口,并且总是建议尽可能使用直接套接字/API连接

您可以查看注册表

string commport =(string)Registry.GetValue(@"HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM",     @"\Device\BthModem0", "");

如果您有多个设备,还可以有“\device\BthModem1”或“\device\BthModem2”等。您可以在注册表中查找

string commport =(string)Registry.GetValue(@"HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM",     @"\Device\BthModem0", "");
如果您有多个设备,还可以有“\device\BthModem1”或“\device\BthModem2”等