【问题标题】:Programmatically Enable / Disable Connection以编程方式启用/禁用连接
【发布时间】:2011-03-04 11:03:25
【问题描述】:

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

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

【问题讨论】:

  • 有什么特别的原因,因为您显然会停止计算机上的所有流量,中断下载等?

标签: c# windows networking


【解决方案1】:

您可以在 C# 中通过利用 WMI 和 Win32_NetworkAdapter WMI 类来实现这一点。 Win32_NetworkAdapter 类具有可在选定网络接口上执行的 Enable 和 Disable 方法。

可以在此处找到使用示例:

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 查询 = new SelectQuery("Win32_NetworkAdapter", "NetConnectionStatus=2"); ManagementObjectSearcher search = new ManagementObjectSearcher(query); foreach(ManagementObject 结果在 search.Get()) { 网络适​​配器适配器 = 新网络适配器(结果); // 在此处标识您要禁用的适配器。 // 特别是,检查 AdapterType 和 // 描述属性。 // 在这里,我们选择 LAN 适配器。 if (adapter.AdapterType.Contains("Ethernet 802.3")) { 适配器.禁用(); } }

【讨论】:

    猜你喜欢
    • 2011-04-25
    • 2010-10-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-03
    • 1970-01-01
    相关资源
    最近更新 更多