提供的程式碼成功枚舉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>
上述程式碼利用 Windows Management Instrumentation (WMI) 收集有關每個序列埠的詳細資訊。 ManagementObjectSearcher 配置為查詢特定 COM 連接埠資訊。
SerialPort.GetPortNames() 方法傳回埠名稱陣列。然後,使用這些名稱來過濾 WMI 查詢並檢索相應的連接埠描述。
產生的清單 portList 包含連接埠名稱和描述的組合。透過迭代此列表,您可以根據需要顯示訊息,例如,在組合框中為使用者提供可用序列埠的描述性列表。
以上是如何在 C# 中檢索序列埠描述?的詳細內容。更多資訊請關注PHP中文網其他相關文章!