首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >从.NET中的网络适配器读取MAC地址

从.NET中的网络适配器读取MAC地址
EN

Stack Overflow用户
提问于 2008-10-20 12:40:17
回答 7查看 32.8K关注 0票数 17

我希望能够使用VB.net或C# (使用winform应用程序的.NET 3.5 SP1)从第一个活动的网络适配器读取mac地址

EN

回答 7

Stack Overflow用户

发布于 2008-10-20 13:00:37

从.Net 2.0开始,System.Net.NetworkInformation名称空间中就有了一个NetworkInterface类,它将为您提供此信息。试试这个:

代码语言:javascript
复制
        foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces())
        {
            if (nic.OperationalStatus == OperationalStatus.Up)
            {
                Console.WriteLine(nic.GetPhysicalAddress().ToString());
                break;
            }
        }
票数 34
EN

Stack Overflow用户

发布于 2008-10-20 12:50:14

来自http://www.dotnetjunkies.com/WebLog/jkirwan/archive/2004/02/10/6943.aspx

代码语言:javascript
复制
  Dim mc As System.Management.ManagementClass
  Dim mo As ManagementObject
  mc = New ManagementClass("Win32_NetworkAdapterConfiguration")
  Dim moc As ManagementObjectCollection = mc.GetInstances()
  For Each mo In moc
     If mo.Item("IPEnabled") = True Then
        ListBox1.Items.Add("MAC address " & mo.Item("MacAddress").ToString())
     End If
  Next

我相信如果需要的话,将这段代码移植到C#上不会有任何问题

票数 4
EN

Stack Overflow用户

发布于 2011-04-27 19:05:51

代码语言:javascript
复制
using Linq..

using System.Net.NetworkInformation;
..

NetworkInterface nic =
    NetworkInterface.GetAllNetworkInterfaces()
    .Where(n => n.OperationalStatus == OperationalStatus.Up).FirstOrDefault();

if (nic != null)
    return nic.GetPhysicalAddress().ToString();
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/218284

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档