Chinaunix首页 | 论坛 | 博客
  • 博客访问: 501027
  • 博文数量: 60
  • 博客积分: 2673
  • 博客等级: 少校
  • 技术积分: 700
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-09 00:25
个人简介

目前主要从事C++软件开发

文章分类

全部博文(60)

文章存档

2013年(3)

2012年(3)

2010年(6)

2009年(23)

2008年(25)

我的朋友

分类: C/C++

2013-01-30 11:37:07

#include "stdafx.h"
#include
#include
#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;
   while(pAdapter){
	   if(strstr(pAdapter->Description,"PCI")>0//pAdapter->Description中包含"PCI"为:物理网卡
          ||pAdapter->Type==71//pAdapter->Type是71为:无线网卡
		  ){
			  printf("------------------------------------------------------------\n");
			  printf("AdapterName:\t%s\n",pAdapter->AdapterName);
			  printf("AdapterDesc:\t%s\n",pAdapter->Description);
			  printf("AdapterAddr:\t");
			  for(UINT i=0;iAddressLength;i++){
				  printf("%02X%c",pAdapter->Address[i],
				  i==pAdapter->AddressLength-1? '\n':'-');
				  }
			 
			  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;
   }
阅读(8477) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~