【问题标题】:List Windows network connections/profiles in C#在 C# 中列出 Windows 网络连接/配置文件
【发布时间】:2015-01-06 08:00:18
【问题描述】:

谁能指点我一个类来列出在 C# 中安装在 Windows 机器(XP、Vista、7、8、8.1)上的当前网络配置文件?

我基本上想要以下列表及其连接状态:

我查看了NetworkInterface.GetAllNetworkInterfaces() 函数,但这显然只是返回物理适配器,我正在寻找的是网络配置文件。

【问题讨论】:

    标签: c# .net windows winapi


    【解决方案1】:

    您可以通过使用Network List Manager API 来执行此操作,它使应用程序能够检索可用网络连接的列表。 The Windows API Code Pack for .Net 包装了此 API,以便托管应用程序可以轻松使用它。添加 NuGet 包

    Windows API 代码包 - 核心

    调用以下函数列出网络配置文件:

    public void ListNetworkProfiles()
    {
        NetworkCollection nCollection = NetworkListManager.GetNetworks(NetworkConnectivityLevels.All);
        foreach (Network net in nCollection)
        {
            Console.WriteLine("Name: " + net.Name + " Status: " + (net.IsConnected ? "Connected" : "Not Connected"));
        }
    }
    

    【讨论】:

    • 谢谢.. 我想一定有某种 Win32 调用可以处理,但这很好用!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-05-15
    相关资源
    最近更新 更多