2022년 10월 19일 수요일

C# 시리얼 포트 리스트 구하기

시리얼 포트를 구하여 combo box에 추가하는 방법은 다음과 같다.


string[] ports = SerialPort.GetPortNames();

comboBox1.Items.AddRange(ports);



시리얼 포트의 이름을 구하는 방법은 다음과 같다.


using (var searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PnPEntity WHERE Caption like '%(COM%'"))

{

    var portnames = SerialPort.GetPortNames();

    var portss = searcher.Get().Cast<ManagementBaseObject>().ToList().Select(p => p["Caption"].ToString());

    var portList = portnames.Select(n => n + ":" + portss.FirstOrDefault(s => s.Contains('(' + n + ')'))).ToList();

    foreach (string s in portList)

    {

        comboBox1.Items.Add(s);

    }

}


댓글 없음:

댓글 쓰기