c语言 mac windows,C语言获取windows系统mac列表
使用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列表相关推荐
- c语言编程修改mac地址,C语言获取本机Mac地址的代码
下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. //linux int GetLocalMacAddr(char *szMac,int * ...
- Windows客户端开发--获取系统mac地址(使用WMI)
之前写过两篇博客,介绍了windows的WMI技术,以及如果通过WMI获取显卡详细信息: Windows客户端开发–WMI技术介绍 Windows客户端开发–使用WMI获取显卡详细信息(win32控制 ...
- windows c语言 进程信息,C语言获取Windows系统进程信息
#include #include //进程快照函数头文件 #include int main() { int countProcess=0;//当前进程数量计数变量 PROCESSENTRY32 c ...
- kotlin获取属性_Kotlin程序获取系统MAC地址
kotlin获取属性 The task is to get system MAC address. 任务是获取系统MAC地址. package com.includehelp import java. ...
- go语言中获取本机sid、mac地址和cpuid的方法(windows系统下有效)
在平常工作中可能会遇到需要获取本机mac地址或cpuid的场景,综合网上的办法,亲自试验总结如下: 1.如果只是要查本机sid地址,则很简单,直接在cmd命令窗口中输入命令: whoami /user ...
- mac linux win三系统安装教程,【教程】macbook pro上安装三系统详解教程(mac os x+windows+linux ubuntu)...
有关如何在macbook pro上安装三系统(mac os x+windows+linux ubuntu),本人本本MB986亲自测试,经过4天奋战已初有小成,特地写下详细安装教程便于惠存,如有问题情 ...
- mac 环境下 制作windows系统U盘启动盘
mac 环境下 制作windows系统U盘启动盘 下载系统文件 ylmf.iso 转换为img文件 hdiutil convert /Users/os/Downloads/ylmf.iso -fo ...
- linux语言windows 语言,作业系统一般用什么编码语言程式设计?如:Windows,Linux,是组合语言吗?还是自己开发的程式码?...
作业系统一般用什么编码语言程式设计?如:Windows,Linux,是组合语言吗?还是自己开发的程式码?以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内 ...
- 苹果系统小技巧 篇六:Mac的10个必备小技巧,原来Windows的功能早在Mac上实现了
一.开启Mac的多桌面 多桌面的功能是Mac开始有,后来Windows跟进的,不得不说这个功能对于管理文件确实很有帮助. 在触控板中三指向上滑动,即可添加或者删除桌面 2. 你可以在这些桌面来回切换, ...
最新文章
- [恢]hdu 1259
- Spring Boot-@Configuration注解
- 第三次学JAVA再学不好就吃翔(part1)--初识JAVA
- 老司机找bug的心路历程
- class CT where T : new() 泛型类约束
- Asterisk目录结构如下
- GitHub 断供危机来了!权威解读程序员应对指南 | CSDN 独家
- 深度学习常见的基本概念整理
- 高通 SD卡驱动代码流程
- C++定义一个描述员工(Employee)基本情况的类
- 微信公众账号开发教程(四)自定义菜单(含实例源码)——转自http://www.cnblogs.com/yank/p/3418194.html...
- 安卓自定义View进阶-多点触控详解
- mysql 统计七日留存率_用户七日留存率分析
- 苹果手机怎么隐藏照片?给iPhone相册上锁的3种方法
- Java数据库插入记录的语句-单引号-双引号values('username+'-'+password
- Leaf-美团分布式ID生成服务
- 【檀越剑指大厂—SpringMVC】SpringMVC篇
- [智能车]平衡车/直立车的入门经验(代码讲解)
- django种表单post出现CSRF verification failed( CSRF验证失败 ) 的两种解决方案
- Vue——按钮名字点击来回切换