簡體   English   中英

通過C#獲取網絡接口類型

[英]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 namespaceNetworkInterface 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM