Maison >développement back-end >C++ >Comment puis-je récupérer des informations sur le port série, y compris des descriptions en C# ?

Comment puis-je récupérer des informations sur le port série, y compris des descriptions en C# ?

Linda Hamilton
Linda Hamiltonoriginal
2024-10-30 15:23:02337parcourir

How Can I Retrieve Serial Port Information Including Descriptions in C#?

Comment récupérer les informations du port série en C

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!

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