Pregunta

¿Hay alguna manera en código administrado para enumerar los dispositivos de módem / Telefonía instalados en el sistema? Si .Net no tiene una forma, ¿me podría apuntar en una dirección?

¿Fue útil?

Solución

WMI contendrá toda la información que necesita en la clase Win32_POTSModem. En C # o .Net, puede utilizar el espacio de nombres System.Management a consulta WMI.

Dentro de .Net, puede utilizar MgmtclassGen.EXE desde el SDK de plataforma para generar un objeto de la clase que representa la clase WMI.

La línea de comandos sería como esto:

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

y después puede usar eso en su código:

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

Salida se ve así:

ThinkPad Modem - Internal Modem
        Speed: 56000

También puede ser que desee echar un vistazo a este artículo: CodeProject: Cómo: ( casi) Todo en WMI a través de C # - Parte 3: Hardware .. El autor ha creado un simple contenedor de clase WMI alrededor de objetos similares a MgmtclassGen.exe, pero todo es hecho por ti.

Otros consejos

A sólo unas palabras para las generaciones futuras.

@Christopher_G_Lewis proporcionadas muy buena solución. Pero antes de usar WMI tenemos que comprobar que Windows Management Instrumentation (WMI, nombre del servicio Winmgmt) está trabajando ( cómo hacerlo? ). Por supuesto, MS recomienda no toque este servicio, porque es parte del sistema de cosas, pero la gente a veces apagarlo.

Por otra parte, a veces puede ser útil para comprobar la versión de WMI antes de usarlo.

Si quieres obtener la lista de módems que son conexión en la actualidad, se puede extraer esta solución . Funciona lentamente, pero muestra todos los módems y excluye conectada Null modem cables.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top