CAD工具之家's Archivers

From boitboy on 2013-09-17 10:22:38

c++ 获取MAC地址

//获取MAC CString GetMac() { NCB ncb; typedef struct _ASTAT_ { ADAPTER_STATUS adapt; NAME_BUFFER NameBuff [30]; }ASTAT, * PASTAT; ASTAT Adapter; typedef struct _LANA_ENUM { UCHAR length; UCHAR lana[MAX_LANA]; }LANA_ENUM ; LANA_ENUM lana_enum; UCHAR uRetCode; memset(&ncb, 0, sizeof(ncb)); memset(&lana_enum, 0, sizeof(lana_enum)); ncb.ncb_command = NCBENUM; ncb.ncb_buffer = (unsigned char *)&lana_enum; ncb.ncb_length = sizeof(LANA_ENUM); uRetCode = Netbios(&ncb); for(int lana=0; lana<lana_enum.length; lana++) { ncb.ncb_command = NCBRESET; ncb.ncb_lana_num = lana_enum.lana[lana]; uRetCode = Netbios(&ncb); if(uRetCode == NRC_GOODRET) break; } memset(&ncb, 0, sizeof(ncb)); ncb.ncb_command = NCBASTAT; ncb.ncb_lana_num = lana_enum.lana[0]; strcpy((char*)ncb.ncb_callname, "*"); ncb.ncb_buffer = (unsigned char *)&Adapter; ncb.ncb_length = sizeof(Adapter); uRetCode = Netbios(&ncb); CString strMac; strMac.Format(_T("%02X%02X%02X%02X%02X%02X"),Adapter.adapt.adapter_address[0], Adapter.adapt.adapter_address[1], Adapter.adapt.adapter_address[2], Adapter.adapt.adapter_address[3], Adapter.adapt.adapter_address[4], Adapter.adapt.adapter_address[5]); return strMac; }

查看完整版本: c++ 获取MAC地址

Tags: MAC地址, 机器码


©CAD工具之家
创办于:2013年5月24日