我正在通过 C# 查询计算机的网络接口,如下所示:
var interfaces = new List<string>();
var mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
var moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
if (!(bool)mo["ipEnabled"])
continue;
string desc = (string) (mo["Description"]);
interfaces.Add(desc);
}
return interfaces;
这将返回包含网络接口的列表。问题是它包含接口的名称(Broadcom 系列...但是我的用户不明白这是什么类型的接口(以太网,wifi,...是否可以确定这是什么类型的网络接口?我该怎么做?
不确定您使用什么来获取所有网络接口,但在 .NET 中,我们在 System.Net.NetworkInformation
namespace
中NetworkInterface
class
。
您可以使用方法 NetworkInterface.GetAllNetworkInterfaces()
获取所有接口。
然后要了解您获得的界面类型,您可以检查NetworkInterfaceType
属性。这很enum
,所以为了你的目的,你可以做这样的事情:
foreach (NetworkInterface netInterface in NetworkInterface.GetAllNetworkInterfaces())
{
if (netInterface.NetworkInterfaceType == NetworkInterfaceType.Wireless80211
|| netInterface.NetworkInterfaceType == NetworkInterfaceType.Ethernet)
{
//your logic here
}
}