ホームページ >バックエンド開発 >C++ >C# での説明を含むシリアル ポート情報を取得するにはどうすればよいですか?

C# での説明を含むシリアル ポート情報を取得するにはどうすればよいですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-30 15:23:02299ブラウズ

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

C でシリアル ポート情報を取得する方法

コンボ ボックスにシリアル ポート名を入力するために、開発者は多くの場合 SerialPort.GetPortNames() を使用します。ただし、ユーザーはポートの説明も含める必要があると表明しています。これを実現する方法は次のとおりです。

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

このソリューションは、WMI (Windows Management Instrumentation) を利用することにより、キャプションに「COM」を含む PNP (プラグ アンド プレイ) エンティティをクエリします。結果として得られるポートと説明のリストが表示されるか、必要に応じてコンボ ボックスにロードできます。

以上がC# での説明を含むシリアル ポート情報を取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。