有人能指点我上课,列出在C#中安装在Windows机器(XP,Vista,7,8,8.1)上的当前网络配置文件吗?
我基本上需要以下列表及其连接状态:
我看过NetworkInterface.GetAllNetworkInterfaces()
函数,但显然只返回物理适配器,我正在寻找的是网络配置文件。
答案 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"));
}
}