C#实现的小功能:[5]C#获取MAC地址(网卡ID)

2025-10-05 09:12:04

1、这里要用到三个类:ManagementClass 、 ManagementObjectCollection 和 ManagementObject

需要添加.Net引用:System.Management

并添加命名空间:using System.Management;

C#实现的小功能:[5]C#获取MAC地址(网卡ID)

C#实现的小功能:[5]C#获取MAC地址(网卡ID)

2、首先建立一个CIM管理类:

ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");

Win32_NetworkAdapterConfiguration 是WMI中的一个Win32类

3、然后得到WMI实例的集合:

ManagementObjectCollection moc = mc.GetInstances();

4、最后遍历集合即可得到MAC地址(一个):

string mac = "";

foreach (ManagementObject mo in moc)

    if ((bool)mo["IPEnabled"] == true)

    {

        mac += mo["MacAddress"].ToString() + " ";

        break;

    }

这里只是得到了一个可用的MAC地址,读者可以根据需要修改,删除if判断、break等语句。

5、读者也可以将其封装成一个方法:

        /// <summary>

        /// 获取网卡ID代码 

        /// </summary>

        /// <returns></returns>

        public static string GetNetworkAdpaterID()

        {

            try

            {

                string mac = "";

                ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");

                ManagementObjectCollection moc = mc.GetInstances();

                foreach (ManagementObject mo in moc)

                    if ((bool)mo["IPEnabled"] == true)

                    {

                        mac += mo["MacAddress"].ToString() + " ";

                        break;

                    }

                moc = null;

                mc = null;

                return mac.Trim();

            }

            catch (Exception e)

            {

                return "uMnIk";

            }

        }

C#实现的小功能:[5]C#获取MAC地址(网卡ID)

6、OK,搞定,这样就可以获得MAC地址了,呵呵!

C#实现的小功能:[5]C#获取MAC地址(网卡ID)

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢