获取本机MAC地址
来源:互联网 发布:淘宝佣金怎么计算 编辑:程序博客网 时间:2024/04/29 15:54
主要还是参考MSDN关于IP_ADAPTER_INFO的描述:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa366062%28v=vs.85%29.aspx
#include <winsock2.h>#include <iphlpapi.h>#include <stdio.h>#include <stdlib.h>#pragma comment(lib, "IPHLPAPI.lib")#define MALLOC(x) HeapAlloc(GetProcessHeap(), 0, (x))#define FREE(x) HeapFree(GetProcessHeap(), 0, (x))int GetMacAddress(char *pMacAddr){ unsigned char pMac[6]; PIP_ADAPTER_INFO pAdapterInfo = NULL; ULONG uLong = sizeof (IP_ADAPTER_INFO); int ret = -1; ULONG ulOutBufLen = sizeof (IP_ADAPTER_INFO); pAdapterInfo = (IP_ADAPTER_INFO *) MALLOC(sizeof (IP_ADAPTER_INFO)); if (pAdapterInfo == NULL) { TRACE("Error allocating memory needed to call GetAdaptersinfo\n"); return 1; } // Make an initial call to GetAdaptersInfo to get // the necessary size into the ulOutBufLen variable if (GetAdaptersInfo(pAdapterInfo, &ulOutBufLen) == ERROR_BUFFER_OVERFLOW) { FREE(pAdapterInfo); pAdapterInfo = (IP_ADAPTER_INFO *) MALLOC(ulOutBufLen); if (pAdapterInfo == NULL) { TRACE("Error allocating memory needed to call GetAdaptersinfo\n"); return 1; } } if (GetAdaptersInfo(pAdapterInfo, &ulOutBufLen) != NO_ERROR) { goto EXIT; } if(NULL == pAdapterInfo) { goto EXIT; } ret = 0; sprintf(pMacAddr, "%02X:%02X:%02X:%02X:%02X:%02X", pAdapterInfo->Address[0], pAdapterInfo->Address[1], pAdapterInfo->Address[2], pAdapterInfo->Address[3], pAdapterInfo->Address[4], pAdapterInfo->Address[5]);EXIT: if (NULL != pAdapterInfo) { FREE(pAdapterInfo); } return ret;}
0 0
- 获取本机mac地址
- 获取本机MAC地址
- 获取本机MAC地址
- 获取本机MAC地址
- 获取本机MAC地址
- 获取本机mac地址
- 获取本机MAC地址
- 获取本机MAC地址
- 如何获取本机所有MAC地址
- 如何获取本机所有MAC地址
- 用VC获取本机MAC地址
- 获取本机mac地址的方法
- 如何获取本机所有MAC地址
- C#获取本机的MAC地址
- C#获取本机的MAC地址
- VC获取本机MAC地址源代码
- 获取本机网卡的MAC地址?
- vc6 获取本机所有mac地址
- VS的BUG积累
- MYSQL性能优化的二十一条经验
- 关于VC6.0编译时的问题fatal error LNK1104
- android 在图库中进行幻灯片播放时图片不会全屏显示
- eclipse没设断点还会debug的解决
- 获取本机MAC地址
- Android中个人推崇的数据库使用方式
- web三种跨域请求数据方法
- 方法论丨怎样练习一万小时
- 微信平台返回文本带超链接
- Building Your VMWare Shared Disk
- Qt中将QString转换为char *或者相反
- 如何应用autosizing属性使iOS应用程序界面适配iPhone5
- 560个点的任意联通图哈密顿圈