2010-06-16 10 views
9

en Windows 7 Puedo habilitar y deshabilitar conexiones a través del panel Administrador de conexiones de red (en la configuración del sistema).Habilitar/deshabilitar mediante programación la conexión

¿Cómo puedo hacer esto programáticamente en C#? Gracias

+0

alguna razón en particular, como es obvio detener todo el tráfico en el equipo, interrumpiendo descargas etc? –

Respuesta

15

Puede lograr esto en C# aprovechando WMI y la clase Win32_NetworkAdapter WMI. La clase Win32_NetworkAdapter tiene métodos de Habilitar e Inhabilitar que se pueden ejecutar en una interfaz de red seleccionada.

Un ejemplo de uso se puede encontrar aquí:

http://blog.opennetcf.com/ncowburn/2008/06/24/HOWTODisableEnableNetworkConnectionsProgrammaticallyUnderVista.aspx

enlace no está disponible, pero está archivada en:

http://web.archive.org/web/20120615012706/http://blog.opennetcf.com/ncowburn/2008/06/24/HOWTODisableEnableNetworkConnectionsProgrammaticallyUnderVista.aspx

Brevemente, pasos para hacer esto son:

  1. generar un contenedor para la clase de VS símbolo del sistema

    mgmtclassgen Win32_NetworkAdapter /L CS -p NetworkAdapter.cs
  2. Pasando a través de los adaptadores:

     
    SelectQuery query = new SelectQuery("Win32_NetworkAdapter", "NetConnectionStatus=2"); 
    ManagementObjectSearcher search = new ManagementObjectSearcher(query); 
    foreach(ManagementObject result in search.Get()) { 
    NetworkAdapter adapter = new NetworkAdapter(result); 
    // Identify the adapter you wish to disable here. 
    // In particular, check the AdapterType and 
    // Description properties. 
    // Here, we're selecting the LAN adapters. 
    if (adapter.AdapterType.Contains("Ethernet 802.3")) { 
        adapter.Disable(); 
    } 
    }

+0

ah intente eso en Win10 UWP lol – Joe

Cuestiones relacionadas