• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

C#获取MAC地址

原作者: [db:作者] 来自: [db:来源] 收藏 邀请
/**********************************************************************
 *                         C# 获取MAC地址
 * 说明:
 *     在C#中获取本机的MAC地址,文中提供两个参考,一个是能够所有的MAC
 * 地址,一个是获取第一个MAC地址。
 *
 *                                  2016-12-9 深圳 南山平山村 曾剑锋
 *********************************************************************/

一、参考文档:
    1. Reliable method to get machine's MAC address in C#
        http://stackoverflow.com/questions/850650/reliable-method-to-get-machines-mac-address-in-c-sharp

二、解决方法:
    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.Net.NetworkInformation; 

    namespace LocalDetectTest
    {
        class NetTools
        {
            /// <summary>
            /// Finds the MAC address of the NIC with maximum speed.
            /// </summary>
            /// <returns>The MAC address.</returns>
            public static void PrintAllMacAddress()
            {
                const int MIN_MAC_ADDR_LENGTH = 12;
                string macAddress = string.Empty;
                long maxSpeed = -1;

                foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces())
                {
                    Console.WriteLine(
                        "Name: " + nic.Name + 
                        " Found MAC Address: " + nic.GetPhysicalAddress() +
                        " Type: " + nic.NetworkInterfaceType);

                    string tempMac = nic.GetPhysicalAddress().ToString();
                    if (nic.Speed > maxSpeed &&
                        !string.IsNullOrEmpty(tempMac) &&
                        tempMac.Length >= MIN_MAC_ADDR_LENGTH)
                    {
                        Console.WriteLine("New Max Speed = " + nic.Speed + ", MAC: " + tempMac);
                        maxSpeed = nic.Speed;
                        macAddress = tempMac;
                    }
                }

                // return macAddress;
            }

            /// <summary>
            /// Finds the MAC address of the first operation NIC found.
            /// </summary>
            /// <returns>The MAC address.</returns>
            public static string GetFirstMacAddress()
            {
                string macAddresses = string.Empty;

                foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces())
                {
                    if (nic.OperationalStatus == OperationalStatus.Up)
                    {
                        macAddresses += nic.GetPhysicalAddress().ToString();
                        Console.WriteLine(macAddresses);
                        break;
                    }
                }

                return macAddresses;
            }
        }
    }

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
c++中的delete和delete[]发布时间:2022-07-13
下一篇:
学学C#开发client,server,C/S架构的程序发布时间:2022-07-13
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap