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

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

DDD
DDDオリジナル
2024-10-31 10:26:28997ブラウズ

How Do I Retrieve Serial Port Descriptions in C#?

シリアル ポートの詳細の取得

提供されたコードは COM ポートを正常に列挙しますが、デバイス マネージャーに表示されるようなポートの説明を取得する機能がありません。包括的なソリューションには、次のアプローチをお勧めします。

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

上記のコードは、Windows Management Instrumentation (WMI) を利用して各シリアル ポートに関する詳細情報を収集します。 ManagementObjectSearcher は、特定の COM ポート情報をクエリするように構成されています。

SerialPort.GetPortNames() メソッドは、ポート名の配列を返します。これらの名前は、WMI クエリをフィルタリングし、対応するポートの説明を取得するために使用されます。

結果のリスト portList には、ポート名と説明の組み合わせが含まれます。このリストを反復処理することで、必要に応じて情報を表示できます。たとえば、コンボ ボックスに利用可能なシリアル ポートの説明的なリストをユーザーに提供します。

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

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