微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 获取网卡的相关信息的C++源码

获取网卡的相关信息的C++源码

时间:06-26 来源:互联网 点击:

 //////////////////////////////////////////////////////////////////

#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

}

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top