2010-06-16 118 views
9

我可以通过“网络连接管理器”面板(在系统设置中)启用和禁用连接。在Windows 7上以编程方式启用/禁用连接

如何在C#中以编程方式执行此操作?谢谢

+0

任何特别的原因,因为你显然在计算机上停止所有流量,中断下载等等? – 2010-06-16 12:53:26

回答

15

您可以通过利用WMI和Win32_NetworkAdapter WMI类在C#中实现此目的。 Win32_NetworkAdapter类具有启用和禁用可在选定网络接口上执行的方法。

用法的例子可以在这里找到:

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

链接不可用,但在存档:

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

简而言之,步骤要做到这一点是:

  1. 产生由VS类的包装命令提示符

    mgmtclassgen Win32_NetworkAdapter /L CS -p NetworkAdapter.cs
  2. 通过适配器步进:

     
    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

啊试试Win10 UWP哈哈 – Joe 2015-09-16 17:13:44

相关问题