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

2022年5月17日 30点热度 0人点赞

在一些需要注册码的软件中,经常会用到以电脑MAC地址为基础的加密串,这里笔者就给大家介绍C#获取本机的MAC地址(物理地址)。

工具/原料

  • <p>Visual Studio(VS)2010 C#</p>
  • <p>.Net Framework 4.0及以上</p>

方法/步骤

  1. 1

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

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

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

  2. 2

    首先建立一个CIM管理类:

    ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");

    Win32_NetworkAdapterConfiguration 是WMI中的一个Win32类

  3. 3

    然后得到WMI实例的集合:

    ManagementObjectCollection moc = mc.GetInstances();

  4. 4

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

    string mac = "";

    foreach (ManagementObject mo in moc)

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

        {

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

            break;

        }

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

  5. 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";

                }

            }

  6. 6

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

    END

注意事项

  • 如果此文章对您有所帮助,请关注本人并收藏此文章。谢谢您的支持!(任何疑问,欢迎留言!)

(共篇)
上一篇:C#获取硬盘序列号|下一篇:
经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。
作者声明:本篇经验系本人依照真实经历原创,未经许可,谢绝转载。
展开阅读全部

laozhao

这个人很懒,什么都没留下

文章评论