列出C#中的Windows网络连接/配置文件

时间:2015-01-06 08:00:18

标签: c# .net windows winapi

有人能指点我上课,列出在C#中安装在Windows机器(XP,Vista,7,8,8.1)上的当前网络配置文件吗?

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

Windows network connections

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

1 个答案:

答案 0 :(得分:4)

您可以使用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"));
    }
}