Maison  >  Article  >  développement back-end  >  Comment récupérer les descriptions de ports série en C# ?

Comment récupérer les descriptions de ports série en C# ?

DDD
DDDoriginal
2024-10-31 10:26:28997parcourir

How Do I Retrieve Serial Port Descriptions in C#?

Récupération des détails du port série

Le code fourni énumère avec succès les ports COM, mais il ne dispose pas de la fonctionnalité permettant de récupérer les descriptions de ports comme celles visibles dans le Gestionnaire de périphériques. Pour une solution complète, l'approche suivante est recommandée :

<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>

Le code ci-dessus utilise Windows Management Instrumentation (WMI) pour recueillir des informations détaillées sur chaque port série. Le ManagementObjectSearcher est configuré pour rechercher des informations spécifiques sur le port COM.

La méthode SerialPort.GetPortNames() renvoie un tableau de noms de ports. Ces noms sont ensuite utilisés pour filtrer la requête WMI et récupérer les descriptions de ports correspondantes.

La liste résultante portList contient une combinaison de noms de ports et de descriptions. En parcourant cette liste, vous pouvez afficher les informations comme vous le souhaitez, par exemple dans une liste déroulante pour fournir aux utilisateurs une liste descriptive des ports série disponibles.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn