マネージコードに、システムにインストールされているモデム/テレフォニーデバイスを一覧表示する方法はありますか?.Netに方法がない場合、私をある方向に向けていただけませんか。
2 に答える
Win32_POTSModem
WMI には、クラスで必要なすべての情報が含まれます。C# または .Net では、System.Management
名前空間を使用して WMI を照会できます。
.Net 内では、プラットフォーム SDK のMgmtclassGen.EXEを使用して、WMI クラスを表すクラス オブジェクトを生成できます。
コマンドラインは次のようになります。
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\mgmtclassgen.exe Win32_POTSModem /L CS /P c:\POTSModem\Win32_POTSModem.cs
そして、それをコードで使用できます。
using System;
using System.Collections.Generic;
using System.Management;
using ROOT.CIMV2.Win32;
public class MyClass
{
public static void Main()
{
foreach (POTSModem modem in POTSModem.GetInstances()) {
Console.WriteLine(modem.Description);
}
}
}
出力は次のようになります。
ThinkPad Modem - Internal Modem
Speed: 56000
次の記事も参照してください: CodeProject: How To: (Almost) Everything In WMI via C# - Part 3: Hardware. . 作成者は、MgmtclassGen.exe に似た WMI オブジェクトの単純なクラス ラッパーを作成しましたが、それはすべて自動的に行われます。
後世のために少しだけ考えてみます。
@Christopher_G_Lewis は非常に優れたソリューションを提供してくれました。しかし、WMI を使用する前に、Windows Management Instrumentation
( WMI
, サービス名Winmgmt
) が機能していることを確認する必要があります (方法は? )。もちろん、MS はこのサービスに触れないことを推奨しています。なぜなら、これはシステムの一部だからです。
さらに、使用する前にWMI のバージョンを確認すると役立つ場合があります。
現在接続されているモデムのリストを取得したい場合は、このソリューションをチェックしてください。動作は遅くなりますが、接続されているすべてのモデムが表示され、.Null modem cables