How can I find out a COM port number of a bluetooth device in c#?

后端 未结 6 988
逝去的感伤
逝去的感伤 2020-12-10 02:44

My company developed a device that communicates with a PC via Bluetooth using a virtual COM port.

Now we need a user to pair a device with a PC (MS Windows OS) firs

6条回答
  •  野趣味
    野趣味 (楼主)
    2020-12-10 03:04

        private static string FindSerialPortForRFIDReaderCore()
        {
            string serialPort = "";
    
            List ports = new List();
    
            System.Management.ManagementObjectSearcher Searcher = new System.Management.ManagementObjectSearcher("Select * from WIN32_SerialPort");
    
            foreach (System.Management.ManagementObject Port in Searcher.Get())
            {
                if (Port["PNPDeviceID"].ToString().ToUpper().Contains("MacAddress")) 
                    ports.Add(Port["DeviceID"].ToString());
            }
    
            if (ports.Count > 1) // There are more than one Serial Ports created for the bluetooth device.
                serialPort = ports.OrderByDescending(p => p).FirstOrDefault();
            else if(ports.Count == 1)
                serialPort = ports[0];
    
    
            return serialPort;
        }
    

提交回复
热议问题