c#获取本机的MAC地址(附源码)

        在前一次的项目中,突然用到了这个获取本机的MAC地址,然后就研究了一下,记录下来,防止以后再用到,

        使用winfrom做的,界面一个button,一个textBox,点了button以后给textBox赋值显示mac地址

附上源码

 private void button3_Click(object sender, EventArgs e)
        {
            try
            {
                string macAddress = GetMacAddress();
                if (!string.IsNullOrEmpty(macAddress))
                {
                    textBox1.Text = macAddress;
                }
                else
                {
                    MessageBox.Show("未能获取到MAC地址。", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show($"获取MAC地址时出现错误:{ex.Message}", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private string GetMacAddress()
        {
            try
            {
                string macAddress = string.Empty;
                foreach (NetworkInterface nic in NetworkInterface.GetAllNetworkInterfaces())
                {
                    /// 仅考虑以太网的网络接口
                    if (nic.NetworkInterfaceType == NetworkInterfaceType.Ethernet && nic.OperationalStatus == OperationalStatus.Up)
                    {
                        // 获取网络接口的MAC地址
                        macAddress = nic.GetPhysicalAddress().ToString();
                        // 将连续的十六进制数格式化为带冒号分隔符的形式
                        macAddress = FormatMacAddress(macAddress);
                        if (!string.IsNullOrEmpty(macAddress))
                            break;
                    }
                }
                return macAddress;
            }
            catch (UnauthorizedAccessException)
            {
                throw new Exception("没有足够的权限来访问网络接口信息,请以管理员身份运行程序。");
            }
            catch (Exception ex)
            {
                throw new Exception($"获取MAC地址时出现错误:{ex.Message}");
            }
        }
        // 使用正则表达式将连续的十六进制数格式化为带冒号分隔符的形式
        private string FormatMacAddress(string macAddress)
        {
            
            return Regex.Replace(macAddress, @"(.{2})(.{2})(.{2})(.{2})(.{2})(.{2})", "$1:$2:$3:$4:$5:$6");
        }

相关推荐

  1. c#获取MAC地址

    2024-07-12 20:02:05       21 阅读
  2. unity Pc获取Mac地址

    2024-07-12 20:02:05       57 阅读
  3. C# 获取IP地址方法

    2024-07-12 20:02:05       66 阅读
  4. QT 获取所有 IP 地址

    2024-07-12 20:02:05       33 阅读
  5. vue获取用户mac地址

    2024-07-12 20:02:05       29 阅读
  6. php获取网卡MAC地址;目前支持WIN/LINUX系统

    2024-07-12 20:02:05       39 阅读
  7. C#获取HTML

    2024-07-12 20:02:05       36 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-12 20:02:05       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-12 20:02:05       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-12 20:02:05       58 阅读
  4. Python语言-面向对象

    2024-07-12 20:02:05       69 阅读

热门阅读

  1. C++ --> 类和对象(二)

    2024-07-12 20:02:05       21 阅读
  2. ListView

    ListView

    2024-07-12 20:02:05      17 阅读
  3. 低代码:架起产教融合的“立交桥”

    2024-07-12 20:02:05       23 阅读
  4. Vue使用vue-cropper裁剪图片作头像

    2024-07-12 20:02:05       22 阅读
  5. RuoYi-Vue3不启动后端服务如何登陆?

    2024-07-12 20:02:05       21 阅读
  6. mysql8 锁表与解锁

    2024-07-12 20:02:05       19 阅读