2

我想区分我系统上可用的以太网。无论是 LAN 、 Wifi 还是由 VMWare 创建的东西。I am only intrested for LAN.

但是当我用以下代码枚举时:

     NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
     foreach (NetworkInterface networkInterface in adapters)
     {

         Console.WriteLine("   {0}  ::: Interface Type {1} ::::ID {2}  \n", networkInterface.Name, networkInterface.NetworkInterfaceType, networkInterface.Id);
     }

现在我如何区分NetworkInterface.DescriptionNetworkInterface.NetworkInterfaceType无用。

还有其他方法吗?

在此处输入图像描述

4

2 回答 2

2

查看使用 WMI 检索有关系统上网络适配器的更多详细信息。它会告诉您给定的适配器是有线网络适配器还是无线网络适配器,以及它是否确实是“物理”网络适配器。

http://geekswithblogs.net/PsychoCoder/archive/2008/01/25/using_wmi_in_csharp.aspx

http://msdn.microsoft.com/en-us/library/windows/desktop/aa394216(v=vs.85).aspx

于 2012-08-01T09:55:49.020 回答
1

要确定适配器是否为 Wifi 适配器,您可以使用 root\WMI 命名空间中的 MSNdis_PhysicalMediumType 类。

不幸的是,VMware 适配器对 Windows 来说似乎是“真正的”物理适配器,并且具有 MAC 地址和 IP 地址等,因此很难区分它们。

如果您在 Windows 中运行 ncpa.cpl,您会注意到它们都与物理适配器相同。

于 2013-12-10T14:27:35.977 回答