获取mac地址的源码

  PIP_ADAPTER_INFO pAdapterInfo;
 PIP_ADAPTER_INFO pAdapter=NULL;
 DWORD dwRetVal=0;
 CString str;
 pAdapterInfo=(IP_ADAPTER_INFO*)malloc(sizeof(IP_ADAPTER_INFO));
 ULONG ulOutBufLen=sizeof(IP_ADAPTER_INFO);

dwRetVal=GetAdaptersInfo(pAdapterInfo,&ulOutBufLen);

if(dwRetVal==ERROR_BUFFER_OVERFLOW)
 {
  free(pAdapterInfo);
  pAdapterInfo = (IP_ADAPTER_INFO *) malloc (ulOutBufLen);
  str+="有多个网卡";
  str+='/r';
  str+='/n';
 }

 if((dwRetVal=GetAdaptersInfo(pAdapterInfo,&ulOutBufLen))==NO_ERROR)
 {
  pAdapter=pAdapterInfo;
  while(pAdapter)
  {
   str="------------------------------------------------------------";
   str+='/r';
   str+='/n';
   str+="AdapterName:";
   str+=pAdapter->AdapterName;
   str+='/r';
   str+='/n';
   str+="AdapterDesc:";
   str+=pAdapter->Description;
   str+='/r';
   str+='/n';
   str+="AdapterAddr:";
   for(UINT i=0;i<pAdapter->AddressLength;i++)
   {
    char temp[10];
    itoa(pAdapter->Address[i],temp,16);
    str+=temp;
    if(i<pAdapter->AddressLength-1)
    {
     str+=(i==pAdapter->AddressLength-1?'n':'-');
    }
   }
   str+='/r';
   str+='/n';
   str+="AdapterType:";
   char temp[10];
   itoa(pAdapter->Type,temp,10);
   str+=temp;
   str+='/r';
   str+='/n';
   str+="IPAddress:";

   str+=pAdapter->IpAddressList.IpAddress.String;
   str+='/r';
   str+='/n';
   str+="IPMask:";
   str+=pAdapter->IpAddressList.IpMask.String;
   pAdapter=pAdapter->Next;
  }
 }
 ed2.SetWindowText(str);

 

说明:这段代码作为一个独立的函数封装,其中ed2是一个文本框,负责将取到的内容显示

 

 

 

 

 

 

 

 

 

 

typedef struct _IP_ADAPTER_INFO {
struct _IP_ADAPTER_INFO* Next;
DWORD ComboIndex;
char AdapterName[MAX_ADAPTER_NAME_LENGTH + 4];
char Description[MAX_ADAPTER_DESCRIPTION_LENGTH + 4];
UINT AddressLength;
BYTE Address[MAX_ADAPTER_ADDRESS_LENGTH];
DWORD Index;
UINT Type;
UINT DhcpEnabled;
PIP_ADDR_STRING CurrentIpAddress;
IP_ADDR_STRING IpAddressList;
IP_ADDR_STRING GatewayList;
IP_ADDR_STRING DhcpServer;
BOOL HaveWins;
IP_ADDR_STRING PrimaryWinsServer;
IP_ADDR_STRING SecondaryWinsServer;
time_t LeaseObtained;
time_t LeaseExpires; } IP_ADAPTER_INFO,
*PIP_ADAPTER_INFO;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值