Как определить, какие COM-порты подключены к BlueTooth из программы на C #? - PullRequest
0 голосов
/ 13 мая 2011

Как определить, какие COM-порты подключены к BlueTooth из программы на C #?

Вот мое требование.Давайте предположим, что COM-порты на моем компьютере подключены к различным устройствам.Допустим, у нас есть COM-порты с 1 по 9, и 2, 3, 4, 5 и 7 подключены в данный момент.Теперь мне нужно определить, среди портов 2, 3, 4, 5 и 7, какие порты подключены к устройствам BlueTooth?

Мне нужно сделать это с помощью программы на C #.Любой совет?

Ответы [ 2 ]

2 голосов
/ 11 октября 2013

Вы можете посмотреть в реестре.

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

Если у вас есть более одного устройства, также может быть "\ Device \ BthModem1" или "\ Device \ BthModem2" и т. Д.

2 голосов
/ 13 мая 2011

См. http://32feet.codeplex.com/wikipage?title=Getting%20Virtual%20COM%20Port%20Names Вкратце используйте WMI для просмотра адреса 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, где это возможно.http://32feet.codeplex.com/wikipage?title=Bluetooth%20Serial%20Ports http://32feet.codeplex.com/wikipage?title=General%20Bluetooth%20Data%20Connections

...