Um ein Kombinationsfeld mit Namen serieller Ports zu füllen, verwenden Entwickler häufig SerialPort.GetPortNames(). Allerdings haben Benutzer die Notwendigkeit geäußert, auch Portbeschreibungen aufzunehmen. So erreichen Sie dies:
<code class="csharp">using System; using System.Management; class Program { static void Main(string[] args) { 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>
Durch die Nutzung von WMI (Windows Management Instrumentation) fragt diese Lösung nach PNP-Entitäten (Plug and Play) ab, die „COM“ in ihren Beschriftungen enthalten. Die resultierende Liste mit Ports und Beschreibungen wird dann angezeigt oder kann bei Bedarf in ein Kombinationsfeld geladen werden.
Das obige ist der detaillierte Inhalt vonWie kann ich Informationen zur seriellen Schnittstelle einschließlich Beschreibungen in C# abrufen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!