시리얼 포트를 구하여 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);
}
}
댓글 없음:
댓글 쓰기