Pour remplir une liste déroulante avec des noms de port série, les développeurs utilisent souvent SerialPort.GetPortNames(). Cependant, les utilisateurs ont exprimé le besoin d'inclure également des descriptions de ports. Voici comment y parvenir :
<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>
En tirant parti de WMI (Windows Management Instrumentation), cette solution interroge les entités PNP (Plug and Play) contenant « COM » dans leurs légendes. La liste résultante des ports et des descriptions est ensuite affichée ou peut être chargée dans une liste déroulante selon les besoins.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!