zoukankan      html  css  js  c++  java
  • C# 获取MAC地址

    /**********************************************************************
     *                         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;
                }
            }
        }
  • 相关阅读:
    《Redis内存数据库》Redis主复制集(主从复制)
    《Redis内存数据库》Redis消息模式
    《Redis内存数据库》redis配置文件说明
    《Redis内存数据库》Redis事务
    《Redis内存数据库》Redis持久化实现方式和原理
    《Redis内存数据库》Redis基本操作命令
    《Redis内存数据库》Redis权限管理
    yum install 与 yum groupinstall 的区别
    LNMP卸载
    Vim配置 终端背景色配置
  • 原文地址:https://www.cnblogs.com/zengjfgit/p/6149713.html
Copyright © 2011-2022 走看看