以编程方式启用/禁用连接

在Windows 7上,我可以通过“networking连接pipe理器”面板启用和禁用连接(在系统设置中)。

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

Solutions Collecting From Web of "以编程方式启用/禁用连接"

您可以通过利用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导致search.Get()){
      NetworkAdapter adapter = new NetworkAdapter(result);
      //确定您希望在此禁用的适配器。 
      //特别是检查AdapterType和 
      //描述属性。
      //在这里,我们选择LAN适配器。
      if(adapter.AdapterType.Contains(“Ethernet 802.3”)){
         adapter.Disable();
      }
     }