【发布时间】:2015-01-06 08:00:18
【问题描述】:
谁能指点我一个类来列出在 C# 中安装在 Windows 机器(XP、Vista、7、8、8.1)上的当前网络配置文件?
我基本上想要以下列表及其连接状态:
我查看了NetworkInterface.GetAllNetworkInterfaces() 函数,但这显然只是返回物理适配器,我正在寻找的是网络配置文件。
【问题讨论】:
谁能指点我一个类来列出在 C# 中安装在 Windows 机器(XP、Vista、7、8、8.1)上的当前网络配置文件?
我基本上想要以下列表及其连接状态:
我查看了NetworkInterface.GetAllNetworkInterfaces() 函数,但这显然只是返回物理适配器,我正在寻找的是网络配置文件。
【问题讨论】:
您可以通过使用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"));
}
}
【讨论】: