• 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;
                }
            }
        }
  • 相关阅读:
    windows安装psycopg2问题解决方案
    error: Setup script exited with error: Unable to find vcvarsall.bat
    python web server comparison
    重置mysql root密码
    Nginx + uWSGI + web.py 搭建示例
    《凉州曲》——吴践道
    C#代理服务器
    OpenGL 分形 Sierpinski镂垫
    Chap02_递归与分治_判断两棵二叉树是否同构
    OpenGL C#绘图环境配置
  • 原文地址:https://www.cnblogs.com/zengjfgit/p/6149713.html
Copyright © 2020-2023  润新知