取得网卡的一些信息的代码-C / C++-优质IT资源分享社区

admin
管理员
管理员
  • UID1
  • 粉丝30
  • 关注4
  • 发帖数581
  • 社区居民
  • 忠实会员
  • 原创写手
阅读:248回复:0

  取得网卡的一些信息的代码

楼主#
更多 发布于:2016-05-19 16:26

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

//运行本程序需要装置Microsoft Platform

SDK .这个能够去MS下载

//更换www.microsoft.com/msdownload/platformsdk/sdkupdate/

//作者:安静

//mail: aweiken@163.com

//10:56 2002-1-31 start

//14:44 2002-2-2 fix some

bug.

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

#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,pinfo->Address,pinfo->Address,pinfo->Address,pinfo->Address);

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 +="\r\n";

} 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<<STR.GETBUFFER(STR.GETLENGTH())

<}

优质IT资源分享社区为你提供此文。 [font=Tahoma  ][font=Tahoma  ]

本站有大量优质C、C++教程视频,资料等资源,包含C,C++基础教程,高级进阶教程等等,教程视频资源涵盖传智播客,极客学院,达内,北大青鸟,猎豹网校等等IT职业培训机构的培训教学视频,价值巨大。欢迎点击下方链接查看。 [font=Tahoma  ][font=Tahoma  ]

C、C++教程视频

优质IT资源分享社区(www.itziyuan.top)
一个免费,自由,开放,共享,平等,互助的优质IT资源分享网站。
专注免费分享各大IT培训机构最新培训教学视频,为你的IT学习助力!

!!!回帖受限制请看点击这里!!!
!!!资源失效请在此版块发帖说明!!!

[PS:按 CTRL+D收藏本站网址~]

——“优质IT资源分享社区”管理员专用签名~

本版相似帖子

游客