2011-05-13 2 views
0

C# 프로그램에서 BlueTooth에 연결된 COM 포트를 식별하는 방법은 무엇입니까?C# 프로그램에서 BlueTooth에 연결된 COM 포트를 식별하는 방법은 무엇입니까?

여기가 내 요구 사항입니다. 컴퓨터의 COM 포트가 다양한 장치에 연결되어 있다고 가정합시다. COM 포트가 1에서 9까지이며 2, 3, 4, 5 및 7이 연결되어 있다고 가정 해 봅시다. 이제 포트 2, 3, 4, 5 및 7 중에서 어떤 포트가 BlueTooth 장치에 연결되어 있는지 확인해야합니다.

C# 프로그램을 사용하여이 작업을 수행해야합니다. 어떤 충고?

답변

2

http://32feet.codeplex.com/wikipage?title=Getting%20Virtual%20COM%20Port%20Names을 참조하십시오. 간략하게 WMI를 사용하여 포트 하드웨어 ID에서 BluetoothAddress를 확인합니다.

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%20Portshttp://32feet.codeplex.com/wikipage?title=General%20Bluetooth%20Data%20Connections

2

레지스트리를 볼 수 있습니다. 두 개 이상의 기기를 가지고있는 경우

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

은 또한 "BthModem1 \ \ 장치"또는 요법 "BthModem2 \ \ 장치"가있을 수 있습니다.

관련 문제