.net c# 获取电脑网卡MAC地址

版权:原创 更新时间:1年以上
[该文章底部包含文件资源,可根据自己情况,决定是否下载资源使用,时间>金钱,如有需要,立即查看资源]

第1种:

通过 ManagementObjectSearcher 类,进行查看系统相关信息

然后提取MAC地址.

        /// <summary>
        /// 获取本机的MAC;
        /// </summary>
        public string GetLocalMac()
        {
            string mac = null;
            ManagementObjectSearcher query = new ManagementObjectSearcher("SELECT * FROM Win32_NetworkAdapterConfiguration");
            ManagementObjectCollection queryCollection = query.Get();
            foreach (ManagementObject mo in queryCollection)
            {
                if (mo["IPEnabled"].ToString() == "True")
                    mac = mo["MacAddress"].ToString();
            }
            return (mac);
        }

第2种:

通过NetworkInterface 接口获取接口信息,提取MAC地址

        public string MacAdd()
        {
            try
            {
                string mac = "";
                foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces())
                {
                    if (nic.OperationalStatus == OperationalStatus.Up) { mac += nic.GetPhysicalAddress().ToString().Trim(); break; }
                }
                if (!Model.Helper.CheckNull(mac)) { if (mac.Length < 3) { mac = null; } }
                return mac;
            }
            catch (Exception) { return null; }
        }

第3种:

获取同一个IP下的MAC地址信息

        //只能获取同网段的远程主机MAC地址. 因为在标准网络协议下,ARP包是不能跨网段传输的,故想通过ARP协议是无法查询跨网段设备MAC地址的。
        [DllImport("Iphlpapi.dll")]
        private static extern int SendARP(Int32 dest, Int32 host, ref Int64 mac, ref Int32 length);
        [DllImport("Ws2_32.dll")]
        private static extern Int32 inet_addr(string ip);
        /// <summary>
        /// 获取ip对应的MAC地址
        /// </summary>
        public string GetMacAddress(string ip)
        {
            Int32 ldest = inet_addr(ip);            //目的ip 
            Int32 lhost = inet_addr("127.0.0.1");   //本地ip 

            try
            {
                Int64 macinfo = new Int64();
                Int32 len = 6;
                int res = SendARP(ldest, 0, ref macinfo, ref len);  //使用系统API接口发送ARP请求,解析ip对应的Mac地址
                return Convert.ToString(macinfo, 16);
            }
            catch (Exception err)
            {
                Console.WriteLine("Error:{0}", err.Message);
            }
            return "获取Mac地址失败";
        }

运行结果:


 

附件:下载该文件资源,减少时间成本(增值服务)
.net c# 获取系统基础信息
.net c# 通过代码,获取操作系统的各个信息,如安装软件信息,内存,虚拟目录等,该源码将所有源码集成到HardInfo类中,可根据自己需要进行调用
不商用,只限学习使用,使用后请删除
上传者拥有该资源完整版权,下载既表明已授权您可以进行报备商用,无报备或者使用后报备,视为侵权,报备后使用,为合法有效使用,报备方式,下载后,在下载列表,点击报备,填写使用场景即可
文件部分展示图(单击放大)
.net c# 获取系统基础信息.net c# 获取系统基础信息.net c# 获取系统基础信息.net c# 获取系统基础信息.net c# 获取系统基础信息.net c# 获取系统基础信息.net c# 获取系统基础信息.net c# 获取系统基础信息.net c# 获取系统基础信息.net c# 获取系统基础信息.net c# 获取系统基础信息.net c# 获取系统基础信息
留言
该资源可下载
File Source
0
最新结算
股权转让协议意向书模板
类型: .docx 金额: CNY 2.23¥ 状态: 待结算 详细>
股权转让协议意向书模板
类型: .docx 金额: CNY 0.28¥ 状态: 待结算 详细>
CSS3图片向上3D翻转渐隐消失特效
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
CSS3图片向上3D翻转渐隐消失特效
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
.net c# 将金额转人名币大写金额
类型: .rar 金额: CNY 2.39¥ 状态: 待结算 详细>
.net c# 将金额转人名币大写金额
类型: .rar 金额: CNY 0.3¥ 状态: 待结算 详细>
合伙退伙协议书范本模板
类型: .doc 金额: CNY 2.23¥ 状态: 待结算 详细>
合伙退伙协议书范本模板
类型: .doc 金额: CNY 0.28¥ 状态: 待结算 详细>
合伙退伙协议书范本模板
类型: .doc 金额: CNY 2.23¥ 状态: 待结算 详细>
合伙退伙协议书范本模板
类型: .doc 金额: CNY 0.28¥ 状态: 待结算 详细>
我们力求给您提供有用的文章,再此基础上,会附加营收资源,不做任何广告,让平台可以更好发展 若您发现您的权利被侵害,或使用了您的版权,请发邮件联系 sunlifel@foxmail.com ggbig觉得 : 不提供源码的文章不是好文章
合作伙伴
联系我们
  • QQ:21499807
  • 邮箱:sunlifel@foxmail.com
  • QQ扫一扫加QQ
    QQ扫一扫
Copyright 2023-2024 ggbig.com·皖ICP备2023004211号-1
打赏文章