windows 平台下获取网卡的Mac地址

来源:互联网 发布:郑州网络推广外包258 编辑:程序博客网 时间:2024/04/28 15:14
// mac.cpp : Defines the entry point for the console application.
//


#include "stdafx.h"
#include<atlbase.h>
#include<atlconv.h>
#include"iphlpapi.h"
# pragma comment(lib,"Iphlpapi.lib")
 
int _tmain(int argc, _TCHAR* argv[])
{
   PIP_ADAPTER_INFO pAdapterInfo;
   PIP_ADAPTER_INFO pAdapter=NULL;
   DWORD dwRetVal=0;
   pAdapterInfo=(IP_ADAPTER_INFO*)malloc(sizeof(IP_ADAPTER_INFO));
   ULONG ulOutBufLen=sizeof(IP_ADAPTER_INFO);
   if(GetAdaptersInfo(pAdapterInfo,&ulOutBufLen)!=ERROR_SUCCESS){
   GlobalFree(pAdapterInfo);
   pAdapterInfo=(IP_ADAPTER_INFO*)malloc(ulOutBufLen);
   }
   if((dwRetVal=GetAdaptersInfo(pAdapterInfo,&ulOutBufLen))==NO_ERROR){
   pAdapter=pAdapterInfo;


   int count = 0;
   while(pAdapter){




  printf("AdapterAddr:%s \n",pAdapter->Description);


      // if(strstr(pAdapter->Description,"PCI")>0//pAdapter->Description???"PCI"??????//pAdapter->Type?71??????
       //   ||pAdapter->Type==71
      //    )
  if(pAdapter->Type > 0)
  {
              printf("------------------------------------------------------------\n");
             // printf("AdapterName:\t%s\n",pAdapter->AdapterName);
             // printf("AdapterDesc:\t%s\n",pAdapter->Description);


 char *tempMac = new char[40];
 memset(tempMac,0,40);
              printf("AdapterAddr:\t");
              for(UINT i=0;i<pAdapter->AddressLength;i++){
 char *subMac = new char[10];
                  sprintf(subMac,"%02X%c",pAdapter->Address[i],
                  i==pAdapter->AddressLength-1? '\n':'-');


 strcat(tempMac,subMac);
                  }


 printf("tempMac = %s",tempMac);
              
             // printf("AdapterType:\t%d\n",pAdapter->Type);
             // printf("IPAddress:\t%s\n",pAdapter->IpAddressList.IpAddress.String);
             // printf("IPMask:\t%s\n",pAdapter->IpAddressList.IpMask.String);
              }
              pAdapter=pAdapter->Next;
          }
   }
   else
   {
    printf("Call to Get Adapters Information failed\n"); 
   }
     return 0;
   }
0 0
原创粉丝点击