• 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;
                }
            }
        }
  • 相关阅读:
    Nuget常用命令(转)
    Core使用SAP Web Service
    jquery.dataTables动态列--转
    jqGrid随窗口大小变化自适应大小-转
    30个值得推荐的数据可视化工具--转
    Automapper问题记录
    MVC及MVC Core在filter中如何获取控制器名称和Action名称
    .Net Core使用 MiniProfiler 进行性能分析(转)
    Core中使用Hangfire
    ASP.NET 多环境下配置文件web.config的灵活配置---转
  • 原文地址:https://www.cnblogs.com/zengjfgit/p/6149713.html
Copyright © 2020-2023  润新知