[英]Get Type of network interface via C#
我通過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 Family ...)。 但我的用戶不明白這是什么類型的接口(以太網,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
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.