Средство поиска объектов управления предотвращает последовательную связь Bluetooth (C#)

Я пытаюсь получить список Bluetooth Comport List и подключить правильное устройство Bluetooth, но каким-то образом средство поиска объектов управления не позволяет мне открыть порты Bluetooth. Если я перезагружаю устройство Bluetooth, я могу открыть порт без проблем.

        public static void GetDeviceBT()
    {

        ManagementObjectSearcher serialSearcher =
            new ManagementObjectSearcher("root\\CIMV2",
            "SELECT * FROM Win32_SerialPort");

        var query = from ManagementObject s in serialSearcher.Get() //Interrupts communication
                    select new { Name = s["Name"], DeviceID = s["DeviceID"], PNPDeviceID = s["PNPDeviceID"] }; // DeviceID -- > PNPDeviceID

        foreach (var port in query)
        {

            var pnpDeviceId = port.PNPDeviceID.ToString();

            if (pnpDeviceId.Contains("BTHENUM"))
            {
                var bluetoothDeviceAddress = pnpDeviceId.Split('&')[4].Split('_')[0];
                if (bluetoothDeviceAddress.Length == 12 && bluetoothDeviceAddress != "000000000000")
                {
                    Console.WriteLine(port.DeviceID + " - BT");
                }


            }
        }
    }

После вызова этой функции я получаю сообщение об ошибке;

System.IO.IOException - Элемент не найден

Интересно, что я могу открыть порты USB без ошибок, только порты Bluetooth

Я не мог найти решение или обходной путь, действительно ценю помощь:)

0 ответов

Другие вопросы по тегам