//////////////////////////////////////////////////////////////// //运行本程序需要安装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<<}
摘自:网易社区
Only you!!!
|