제공된 코드는 COM 포트를 성공적으로 열거하지만 장치 관리자에 표시되는 것과 같은 포트 설명을 검색하는 기능이 부족합니다. 포괄적인 솔루션을 위해서는 다음 접근 방식이 권장됩니다.
<code class="csharp">using (var searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PnPEntity WHERE Caption like '%(COM%'")) { var portnames = SerialPort.GetPortNames(); var ports = searcher.Get().Cast<ManagementBaseObject>().ToList().Select(p => p["Caption"].ToString()); var portList = portnames.Select(n => n + " - " + ports.FirstOrDefault(s => s.Contains(n))).ToList(); foreach (string s in portList) { Console.WriteLine(s); } }</code>
위 코드는 WMI(Windows Management Instrumentation)를 활용하여 각 직렬 포트에 대한 자세한 정보를 수집합니다. ManagementObjectSearcher는 특정 COM 포트 정보를 쿼리하도록 구성됩니다.
SerialPort.GetPortNames() 메서드는 포트 이름 배열을 반환합니다. 그런 다음 이러한 이름은 WMI 쿼리를 필터링하고 해당 포트 설명을 검색하는 데 사용됩니다.
결과 목록 portList에는 포트 이름과 설명의 조합이 포함됩니다. 이 목록을 반복하면 원하는 대로 정보를 표시할 수 있습니다. 예를 들어 콤보 상자에 사용 가능한 직렬 포트에 대한 설명 목록을 사용자에게 제공할 수 있습니다.
위 내용은 C#에서 직렬 포트 설명을 어떻게 검색합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!