使用C语言获取windows操作系统MAC列表,包含实际存在的物理网卡以及虚拟网卡,话不多说,直接上代码:

//获取系统mac列表,每一个mac地址保存空间大小为18字节

//成功返回0,失败返回-1

int GetSysMac(int &macNum,char macList[][18])

{

char mac[18] = { 0 };

//记录网卡数量

int netCardNum = 0;

PIP_ADAPTER_INFO pIpAdapterInfo = (PIP_ADAPTER_INFO)malloc(sizeof(IP_ADAPTER_INFO));

unsigned long stSize = sizeof(IP_ADAPTER_INFO);

int nRel = GetAdaptersInfo(pIpAdapterInfo,&stSize);

if (ERROR_BUFFER_OVERFLOW == nRel) {

free(pIpAdapterInfo);

//重新申请内存

pIpAdapterInfo = (PIP_ADAPTER_INFO)malloc(stSize);

nRel=GetAdaptersInfo(pIpAdapterInfo,&stSize);

}

if (ERROR_SUCCESS == nRel) {

while (pIpAdapterInfo) {

char temp[4] = { 0 };

for (DWORD i = 0; i < pIpAdapterInfo->AddressLength; i++) {

if (i < pIpAdapterInfo->AddressLength-1)

{

sprintf(temp,"%02X:", pIpAdapterInfo->Address[i]);

strcat(mac,temp);

memset(temp,0,sizeof(temp));

}

else

{

sprintf(temp,"%02X", pIpAdapterInfo->Address[i]);

strcat(mac,temp);

memset(temp,0,sizeof(temp));

}

}

memcpy(macList[netCardNum],mac,sizeof(mac));

memset(mac,0,sizeof(mac));

pIpAdapterInfo = pIpAdapterInfo->Next;

netCardNum++;

}

}

//释放内存空间

if (pIpAdapterInfo)

{

free (pIpAdapterInfo);

}

macNum = netCardNum;

return 0;

}

其中macNum是所获取到的系统MAC数量,MAC列表存放在macList中。

完整代码下载请猛戳右边红色→(下载)

c语言 mac windows,C语言获取windows系统mac列表相关推荐

  1. c语言编程修改mac地址,C语言获取本机Mac地址的代码

    下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. //linux int GetLocalMacAddr(char *szMac,int * ...

  2. Windows客户端开发--获取系统mac地址(使用WMI)

    之前写过两篇博客,介绍了windows的WMI技术,以及如果通过WMI获取显卡详细信息: Windows客户端开发–WMI技术介绍 Windows客户端开发–使用WMI获取显卡详细信息(win32控制 ...

  3. windows c语言 进程信息,C语言获取Windows系统进程信息

    #include #include //进程快照函数头文件 #include int main() { int countProcess=0;//当前进程数量计数变量 PROCESSENTRY32 c ...

  4. kotlin获取属性_Kotlin程序获取系统MAC地址

    kotlin获取属性 The task is to get system MAC address. 任务是获取系统MAC地址. package com.includehelp import java. ...

  5. go语言中获取本机sid、mac地址和cpuid的方法(windows系统下有效)

    在平常工作中可能会遇到需要获取本机mac地址或cpuid的场景,综合网上的办法,亲自试验总结如下: 1.如果只是要查本机sid地址,则很简单,直接在cmd命令窗口中输入命令: whoami /user ...

  6. mac linux win三系统安装教程,【教程】macbook pro上安装三系统详解教程(mac os x+windows+linux ubuntu)...

    有关如何在macbook pro上安装三系统(mac os x+windows+linux ubuntu),本人本本MB986亲自测试,经过4天奋战已初有小成,特地写下详细安装教程便于惠存,如有问题情 ...

  7. mac 环境下 制作windows系统U盘启动盘

    mac 环境下 制作windows系统U盘启动盘 下载系统文件   ylmf.iso 转换为img文件 hdiutil convert /Users/os/Downloads/ylmf.iso -fo ...

  8. linux语言windows 语言,作业系统一般用什么编码语言程式设计?如:Windows,Linux,是组合语言吗?还是自己开发的程式码?...

    作业系统一般用什么编码语言程式设计?如:Windows,Linux,是组合语言吗?还是自己开发的程式码?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内 ...

  9. 苹果系统小技巧 篇六:Mac的10个必备小技巧,原来Windows的功能早在Mac上实现了

    一.开启Mac的多桌面 多桌面的功能是Mac开始有,后来Windows跟进的,不得不说这个功能对于管理文件确实很有帮助. 在触控板中三指向上滑动,即可添加或者删除桌面 2. 你可以在这些桌面来回切换, ...

最新文章

  1. [恢]hdu 1259
  2. Spring Boot-@Configuration注解
  3. 第三次学JAVA再学不好就吃翔(part1)--初识JAVA
  4. 老司机找bug的心路历程
  5. class CT where T : new() 泛型类约束
  6. Asterisk目录结构如下
  7. GitHub 断供危机来了!权威解读程序员应对指南 | CSDN 独家
  8. 深度学习常见的基本概念整理
  9. 高通 SD卡驱动代码流程
  10. C++定义一个描述员工(Employee)基本情况的类
  11. 微信公众账号开发教程(四)自定义菜单(含实例源码)——转自http://www.cnblogs.com/yank/p/3418194.html...
  12. 安卓自定义View进阶-多点触控详解
  13. mysql 统计七日留存率_用户七日留存率分析
  14. 苹果手机怎么隐藏照片?给iPhone相册上锁的3种方法
  15. Java数据库插入记录的语句-单引号-双引号values('username+'-'+password
  16. Leaf-美团分布式ID生成服务
  17. 【檀越剑指大厂—SpringMVC】SpringMVC篇
  18. [智能车]平衡车/直立车的入门经验(代码讲解)
  19. django种表单post出现CSRF verification failed( CSRF验证失败 ) 的两种解决方案
  20. Vue——按钮名字点击来回切换

热门文章

  1. 结合java中的锁聊聊锁的本质
  2. Redmi4X刷入Ubuntu touch真正成为一台远程无需人操作的云服务器(就是配置垃圾)
  3. c语言atof函数源码,【c语言】模拟实现库函数的atof函数
  4. 2012年国产空间信息软件测评结果
  5. 读取gca信息(matlab2021)
  6. java 足球比赛小游戏
  7. 用js判断是否是闰年
  8. Mybatis源码分析(七)自定义缓存、分页的实现
  9. BZOJ 1116 POI2008 CLO
  10. 2019学习Web前端应该需要掌握哪方面的知识?