簡體   English   中英

C#如何檢查COM端口中是否連接了某些設備?

[英]C# How to check if certain device is connected in COM port?

我想制作一個程序,當點擊一個按鈕時,檢測某個設備是否通過設備連接在端口上。 例如,如果設備已連接且在設備管理器中顯示“HUAWEI Mobile Connect - 3G PC UI界面(COM16)”,請在消息框中告知設備是否已連接。

在此輸入圖像描述

我有一個代碼,但它只顯示可用的COM端口。

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

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

如果您可以在Visual Studio中使用System.Management nuget包。 您可以使用以下代碼來獲取您的設備名稱。

 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的所有設備的名稱。 您可以按設備名稱搜索特定設備

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM