【问题标题】:Programmatically I need to disconnect my internet connection using C#?以编程方式我需要使用 C# 断开我的 Internet 连接?
【发布时间】:2013-05-31 22:26:39
【问题描述】:

我通过 Wan Miniport (PPPOE) 连接使用我的宽带互联网,并且我的操作系统是 Windows 7。我想通过 C# 断开互联网连接。我在互联网上搜索了很多,但我不确定哪种方法(WMI、WinInet 等)适合我的连接。 稍后我将通过另一个软件重新连接,因此我的要求只是断开与互联网的连接,而不是完全永久禁用它。 请提供一些解决方案和代码来实现这一点。 ?

【问题讨论】:

    标签: c# vb.net shell networking windows-7


    【解决方案1】:

    使用WMI:

    C#:

    var wmiQuery = new SelectQuery("SELECT * FROM Win32_NetworkAdapter " +
                                       "WHERE NetConnectionId != null " +
                                       "AND Manufacturer != 'Microsoft' ");
        using (var searcher = new ManagementObjectSearcher(wmiQuery))
        {
            foreach (ManagementObject item in searcher.Get())
            {
                if (((String)item["NetConnectionId"]) == "Local Area Connection")
                {
                    using (item)
                    {
                        item.InvokeMethod("Disable", null);
                    }
                }
            }
        }
    

    VB:

    Dim wmiQuery = New SelectQuery("SELECT * FROM Win32_NetworkAdapter " & "WHERE NetConnectionId != null " & "AND Manufacturer != 'Microsoft' ")
    Using searcher = New ManagementObjectSearcher(wmiQuery)
        For Each item As ManagementObject In searcher.[Get]()
            If DirectCast(item("NetConnectionId"), [String]) = "Local Area Connection" Then
                Using item
                    item.InvokeMethod("Disable", Nothing)
                End Using
            End If
        Next
    End Using
    

    【讨论】:

    • 嗨 Mobstaa,谢谢!,我也想知道 "rasdial /disconnect" 命令是否适用于与 Win7 的 PPPOE 连接。?
    • 仅供参考:要使用此示例代码,您必须首先包含对 System.Managment dll 的引用。
    猜你喜欢
    • 2011-05-26
    • 1970-01-01
    • 1970-01-01
    • 2012-01-04
    • 1970-01-01
    • 1970-01-01
    • 2018-01-22
    相关资源
    最近更新 更多