C # Как проверить, подключено ли определенное устройство к COM-порту? - PullRequest
0 голосов
/ 01 апреля 2019

Я хочу создать программу, которая обнаружит, что определенное устройство подключено к COM-порту по имени устройства при нажатии кнопки.Например, если устройство подключено и в диспетчере устройств отображается «HUAWEI Mobile Connect - 3G PC UI Interface (COM16)», укажите в окне сообщения, подключено ли устройство.

enter image description here

У меня есть код, но он показывает только доступный COM-порт.

private void button1_Click(object sender, EventArgs e)
    {
        string[] ports = SerialPort.GetPortNames();

        foreach (string port in ports)
        {
            richTextBox1.Text = port.ToString();
        }
    }

1 Ответ

0 голосов
/ 01 апреля 2019

, если вы можете использовать пакет nuget System.Management в Visual Studio. Вы можете использовать следующий бит кода, чтобы получить имя вашего устройства.

 using (var devices = new ManagementObjectSearcher("SELECT * FROM WIN32_SerialPort"))
            {
                string[] portnames = SerialPort.GetPortNames();
                var ports = devices.Get().Cast<ManagementBaseObject>().ToList();
                var device_list = (from n in portnames
                    join p in ports on n equals p["DeviceID"].ToString()
                    select n + " - " + p["Caption"]).ToList();

Здесь список устройств содержит названия всех устройств, подключенных к COM. Вы можете рассчитывать на получение определенного устройства по имени устройства

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...