• 易迪拓培训,专注于微波、射频、天线设计工程师的培养
首页 > 无线通信 > 技术文章 > 利用C++程序获取网卡的相关信息

利用C++程序获取网卡的相关信息

录入:edatop.com     点击:

#include "stdafx.h"

#include

#include

#include "Iphlpapi.h"

using namespace std;

PIP_ADAPTER_INFO pinfo=NULL;

unsigned long len=0;

CString macaddress;

CString  description;

CString  type;

CString  subnet;

CString  IpAddress;

CString  gateway;

CString  PrimaryWinsServer;

CString  dhcp;

void GetInfo();

void ParseData();

void OutPut(CString str);

void main()

{

cout<<"------------------------网卡信息检测---------------------n";

GetInfo();

}

void GetInfo()

{

if (pinfo!=NULL)

delete (pinfo);

unsigned long nError;

nError  =  GetAdaptersInfo(pinfo,&len); //1??üoˉêy

if (nError==0)

{

ParseData();

}

if (nError==ERROR_NO_DATA)

{

OutPut("没有网络设备信息");

}

if (nError==ERROR_NOT_SUPPORTED)

{

OutPut("GetAdaptersInfo不支持本系统");

}

if (nError==ERROR_BUFFER_OVERFLOW)

{

pinfo= (PIP_ADAPTER_INFO)malloc(len);

nError  =  GetAdaptersInfo(pinfo,&len);

if (nError==0)

{

ParseData();

}

}

return;

}

void ParseData()

{

if (pinfo!=NULL)

{

macaddress.Format("%02X:%02X:%02X:%02X:%02X:%02X",pinfo->Address[0],pinfo->Address[1],pinfo->Address[2],pinfo->Address[3],pinfo->Address[4],pinfo->Address[5]);

description  =  pinfo->Description;

type.Format("%d",pinfo->Type);

PIP_ADDR_STRING pAddressList = &(pinfo->IpAddressList);

IpAddress  ="";

do

{

IpAddress  +=  pAddressList->IpAddress.String;

pAddressList = pAddressList->Next;

if (pAddressList != NULL)

IpAddress  +="rn";

} while (pAddressList != NULL);

subnet.Format("%s",pinfo->IpAddressList.IpMask.String);

gateway.Format("%s",pinfo->GatewayList.IpAddress.String);

if (pinfo->HaveWins)

PrimaryWinsServer.Format("%s",pinfo->PrimaryWinsServer.IpAddress.String );

else

PrimaryWinsServer.Format("%s","N/A" );

if (pinfo->DhcpEnabled )

dhcp.Format("%s",pinfo->DhcpServer.IpAddress.String );

else

dhcp.Format("%s","N/A");

pinfo = pinfo->Next;

}

OutPut("网络设备为:t"+description);

OutPut("Mac地址为:t"+macaddress);

OutPut("网卡类型:t"+type);

OutPut("IP地址:t"+IpAddress);

OutPut("子网掩码:t"+subnet);

OutPut("网关:t"+gateway);

OutPut("主Wins服务器:t"+PrimaryWinsServer);

OutPut("dhcp服务器:t"+dhcp);

}

void OutPut(CString str)

{

cout<

}

来源:21IC电子网

上一篇:基于CY7C68013的高速数据传输系统的设计
下一篇:基于DSP56F826芯片的二维条码扫描器系统

手机天线设计培训教程详情>>

手机天线设计培训教程 国内最全面、系统、专业的手机天线设计培训课程,没有之一;是您学习手机天线设计的最佳选择...【More..

射频和天线工程师培训课程详情>>

  网站地图