Frage

Gibt es eine Möglichkeit in verwaltetem Code Liste der Modem / Telefonie auf dem System installierte Geräte? Wenn .Net keine Möglichkeit haben, könnten Sie mir zeigen in eine Richtung?

War es hilfreich?

Lösung

WMI enthält alle Informationen, die Sie in der Win32_POTSModem Klasse benötigen. In C # oder .Net können Sie die System.Management Namespace Abfrage WMI nutzen.

Innerhalb von .Net, können Sie MgmtclassGen.EXE von der Plattform SDK ein Klassenobjekt repräsentiert die WMI-Klasse.

zu erzeugen,

Die Befehlszeile wie folgt sein würde:

C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bin\mgmtclassgen.exe Win32_POTSModem /L CS /P c:\POTSModem\Win32_POTSModem.cs

und dann können Sie das in Ihrem Code verwenden:

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);
    }
  }
}

Ausgabe sieht wie folgt aus:

ThinkPad Modem - Internal Modem
        Speed: 56000

Sie können auch einen Blick auf diesen Artikel in Anspruch nehmen wollen: Codeproject: How To: ( fast) alles in WMI über C # - Teil 3:. Hardware . Der Autor hat eine einfache Wrapper-Klasse erstellt um WMI-Objekte ähnlich wie MgmtclassGen.exe, aber es ist alles für Dich erledigt.

Andere Tipps

Nur ein paar Gedanken für zukünftige Generationen.

@Christopher_G_Lewis bereitgestellt sehr gute Lösung. Aber bevor WMI müssen wir diese Windows Management Instrumentation überprüfen (WMI, Service-Name Winmgmt) arbeitet (, wie es zu tun? ). Natürlich empfiehlt MS diesen Dienst nicht berühren, denn es ist Teil des Systems Sachen, aber die Leute schalten manchmal aus.

Darüber hinaus kann es manchmal hilfreich sein, überprüfen WMI-Version bevor sie es.

Wenn Sie auf erhalten Modems Liste die sind verbunden im Moment, können Sie überprüfen diese Lösung . Es arbeitet langsam, aber zeigt alle angeschlossenen Modems und schließt Null modem cables.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top