WMI будет содержать всю необходимую информацию в классе Win32_POTSModem
. В C # или .Net вы можете использовать пространство имен System.Management
для запроса WMI.
В .Net вы можете использовать MgmtclassGen.EXE из SDK платформы для генерации объекта класса, представляющего класс 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: Как: (Почти) все в WMI через C # - Часть 3. Аппаратное обеспечение. . Автор создал простую оболочку класса вокруг объектов WMI, похожую на MgmtclassGen.exe, но все это сделано для вас.