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");}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/44826.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C#基于事件的异步模式实现实例

1、异步操作类 using System; using System.Collections.Generic; using System.ComponentModel; using System.Linq; using System.Runtime.Remoting.Messaging; using System.Text; using System.Threading; using System.Threading.Tasks; using static System.Windows.For…

Linux下vim工具应用

1.简介 Vim(Vi IMproved)是一种高度可配置的文本编辑器,用于有效地创建和更改任何类型的文本。它是从vi发展而来,vi是Unix和类Unix系统上最初的文本编辑器之一。Vim被设计为程序员和文本编辑的爱好者使用,它以其强大的…

广度优先(BFS)

先看一道简单的题&#xff0c;迷宫问题&#xff1a; 洛谷P1746 离开中山路&#xff1a;P1746 离开中山路 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) #include<iostream> #include<cstring> #include<queue> #include <utility> #define N 1002 …

综合监管云平台 DownFile 任意文件读取漏洞复现

0x01 产品简介 综合监管云平台是一种集成了多种先进技术的信息化平台&#xff0c;旨在通过数据采集、分析、预警和应急处理等功能&#xff0c;实现对各类监管对象的全面、高效、精准管理&#xff0c;综合监管云平台利用“互联网物联网”模式&#xff0c;结合云计算、大数据、边…

春招冲刺百题计划|队列

Java基础复习 Java数组的声明与初始化Java ArrayListJava HashMapJava String 类Java LinkedListJava Deque继承LinkedListJava SetJava 队列 第一题&#xff1a;387. 字符串中的第一个唯一字符 class Solution {public int firstUniqChar(String s) {//最简单的方法就是暴力…

p14数组(2)

数组作为函数的参数 冒泡排序 两两比较 void bubble_sort(int arr[],int sz) {int i0;for(i0;i<sz-1;i){//每一趟冒泡排序int j0;for(j0;j<sz-1-i;j){if(arr[j]>arr[j1]){int tmparr[j];arr[j]arr[j1];arr[j1]tmp;}}} } int main(){int arr[]{9,8,7,6,5,4,3,2,1,0}…

关于woocommerce product data tabs, 特别是additional information

woocommerce product data tabs&#xff0c; 也就是默认的这三个&#xff1a; description additional information reviews 包括如何删除&#xff0c;重命名&#xff0c;改显示顺序等等&#xff0c;参考官方文档&#xff1a; https://woocommerce.com/document/editing-p…

《从零到惊艳:快速唱好一首歌的魔法指南》

对于零基础学唱歌的朋友来说&#xff0c;想要快速学会唱好一首歌并非遥不可及。 第一步&#xff0c;精心选歌。如同选择一把适合自己的宝剑&#xff0c;歌曲的选择至关重要。要挑选一首旋律优美、节奏适中、音域符合自身条件且歌词易于理解和记忆的歌曲。比如一些节奏较为缓慢、…

C# CvDnn部署CoupledTPS实现旋转图像矫正

C# CvDnn部署CoupledTPS实现旋转图像矫正 目录 说明 效果 模型信息 项目 代码 下载 说明 TPAMI2024 - Semi-Supervised Coupled Thin-Plate Spline Model for Rotation Correction and Beyond github地址&#xff1a;https://github.com/nie-lang/CoupledTPS 代码实现…

240710_昇思学习打卡-Day22-LSTM+CRF序列标注

240710_昇思学习打卡-Day22-LSTMCRF序列标注 在正式开始LSTMCRF序列标注之前&#xff0c;我们先来了解一下条件随机场&#xff0c;以下仅做简单介绍。 CRF全称Conditional Random Field&#xff0c;按照名字来理解&#xff0c;条件随机&#xff0c;随机输入&#xff0c;条件输…

ReoGrid代替EXCEL显示数据,可视化修改ReoGrid.Mvvm:ReoGrid绑定模型

ReoGrid 是 C&#xff03; 编写的.NET 电子表格控件&#xff08;类似 Excel&#xff09;。支持单元格合并&#xff0c;边框样式&#xff0c;图案背景颜色&#xff0c;数据格式&#xff0c;冻结&#xff0c;公式&#xff0c;宏和脚本执行&#xff0c;表格事件等。支持 Winform\W…

游戏视频是后期配音好还是边录边配 游戏视频怎么剪辑制作才能火 视频剪辑免费软件

游戏视频后期配音是先配还是先剪&#xff1f;游戏视频后期配音没有统一的准则&#xff0c;可以先配&#xff0c;也可以后配&#xff0c;主要是根据内容而定。游戏视频剪辑在游戏玩家中十分流行&#xff0c;那么&#xff0c;游戏视频怎么剪辑制作&#xff1f;下面让我们以具体的…

ai写作软件哪个好用?这些写作工具值得收藏

在创意写作的世界里&#xff0c;每个字词都是作者情感与灵魂的载体。 但灵感的闪现与文字的成型之间&#xff0c;往往存在着一段漫长且充满挑战的旅程。幸运的是&#xff0c;人工智能技术的崛起带来了AI写作软件&#xff0c;它们不仅能够点燃创作的火花&#xff0c;还能辅助我…

探索 ASTRA.AI:打造低代码多模态 AI 应用的开源平台

声网&#xff08;Agora&#xff09;研发的 ASTRA 平台&#xff0c;作为一款面向大语言模型应用开发的开源解决方案&#xff0c;无疑为 AI 领域注入了新的活力。它巧妙地结合了 BaaS&#xff08;后端即服务&#xff09;概念与大型语言模型的运营&#xff0c;使得创建高性能的生成…

手写redis分布式锁

一个靠谱的分布式锁应该有哪些特点&#xff1f; 1.独占性&#xff1a;任何时候有且仅有一个线程持有锁 2.放死锁&#xff1a;有超时控制机制或撤销操作&#xff0c;得有个释放锁的兜底方案 3.不乱抢&#xff1a;不能张冠李戴&#xff0c;不能unlock别人加的锁 4.可重入性&a…

如何给CAD文件加密丨五种超级简单的CAD图纸加密方法

CAD图纸作为企业核心竞争力的体现&#xff0c;其安全性直接关系到企业的生产效率和市场竞争力。一旦图纸被泄露&#xff0c;竞争对手可能会迅速模仿或改进产品&#xff0c;从而抢占市场份额。此外&#xff0c;图纸的非法获取还可能涉及知识产权纠纷&#xff0c;给企业带来法律风…

镜像加速方法

参考&#xff1a; https://github.com/DaoCloud/public-image-mirror 使用DaoCloud加速&#xff1a; 比如我想在dockerhub下载这个镜像&#xff1a; 本来的命令是&#xff1a; docker pull openjdk:11.0-jdk-slim-buster在要拉取的镜像前&#xff0c;添加前缀&#xff1a;m.…

迅为RK3588S开发板广泛用于边缘技术,人工智能,智能家居,智慧零售,智能网关等

性能强 iTOP-3588S开发板采用瑞芯微RK3588S处理器&#xff0c;是全新一代AloT高端应用芯片&#xff0c;搭载八核64位CPU&#xff0c;四核Cortex-A76和四核Cortex-A55架构主频高达2.4GHZ&#xff0c;8GB内存&#xff0c;32GBEMMC。 四核心架构GPU内置GPU可以完全兼容0penGLES1.1…

数据赋能(144)——开发:数据拆分——影响因素、直接作用、主要特征

影响因素 数据拆分过程中需要考虑的一些影响因素&#xff1a; 数据量和数据增长率&#xff1a; 数据量的大小直接决定了拆分的必要性和可能性。当数据量过大时&#xff0c;拆分可以帮助我们提高查询性能、降低管理复杂度。数据增长率也是考虑因素之一。如果数据增长迅速&…

告别大白嗓子,助唱歌小白华丽转身的秘籍

对于唱歌的小白来说&#xff0c;要去除大白嗓子&#xff0c;可以从以下几个方面入手&#xff1a; 气息控制 进行深呼吸练习&#xff1a;像闻花香一样慢慢地吸气&#xff0c;使气息充满腹部&#xff0c;然后缓缓呼气&#xff0c;感受气息的流动和控制。 练习长音&#xff1a;通…