#include <iostream>
#include <afxwin.h>
#include <IPHlpApi.h>
#pragma comment(lib,"iphlpapi.lib")
using namespace std;
//本函数需要IP help API
//----------------------------------------------
//功能:获得网卡物理地址
//参数:strMac 返回网卡物理地址
//返回:TRUE 成功
// FALSE 失败
//----------------------------------------------
BOOL GetMacAddress(CString &strMac)
{
PIP_ADAPTER_INFO pAdapterInfo;
DWORD AdapterInfoSize;
TCHAR szMac[32] = {0};
DWORD Err;
AdapterInfoSize = 0;
Err = GetAdaptersInfo(NULL, &AdapterInfoSize);
if((Err != 0) && (Err != ERROR_BUFFER_OVERFLOW)){
TRACE("获得网卡信息失败!");
return FALSE;
}
// 分配网卡信息内存
pAdapterInfo = (PIP_ADAPTER_INFO) GlobalAlloc(GPTR, AdapterInfoSize);
if(pAdapterInfo == NULL){
TRACE("分配网卡信息内存失败");
return FALSE;
}
if(GetAdaptersInfo(pAdapterInfo, &AdapterInfoSize) != 0){
TRACE(_T("获得网卡信息失败!\n"));
GlobalFree(pAdapterInfo);
return FALSE;
}
strMac.Format(_T("%02X-%02X-%02X-%02X-%02X-%02X"),
pAdapterInfo->Address[0],
pAdapterInfo->Address[1],
pAdapterInfo->Address[2],
pAdapterInfo->Address[3],
pAdapterInfo->Address[4],
pAdapterInfo->Address[5]);
GlobalFree(pAdapterInfo);
return TRUE;
}
int main()
{
CString mac;
GetMacAddress(mac);
MessageBox(NULL,mac,_T("系统提示:网卡mac:为"),0);
return 0;
}
获取网卡MAC地址
最新推荐文章于 2023-03-08 14:49:20 发布