博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
获取网卡的相关信息
阅读量:2400 次
发布时间:2019-05-10

本文共 2189 字,大约阅读时间需要 7 分钟。

导读:
作者姓名 安静
文章原始出处 北京163社区 C版
//运行本程序需要安装Microsoft Platform SDK .这个可以去MS下载
//
//作者:安静
//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[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    +="/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< <
}

本文转自

转载地址:http://fniob.baihongyu.com/

你可能感兴趣的文章
山西晋中6辆警车围堵太原许西收费站
查看>>
Linux下的压缩文件剖析(转)
查看>>
基础网络命令(转)
查看>>
广域网(WAN)简介(转)
查看>>
DDN综述-1(转)
查看>>
详细定义嵌入式系统(转)
查看>>
linux入门教程(3)(转)
查看>>
动手制作自己的启动盘(转)
查看>>
在Linux中做系统引导盘(转)
查看>>
2.6内核的安装(转)
查看>>
多用户,多语言设置(转)
查看>>
断电后的系统修复(转)
查看>>
Squid优化完全手册(1)(转)
查看>>
全都是外国人写的防火墙脚本,我也来写一个,希望大家跟我一块做好(转)
查看>>
使用iptables实现数据包过滤(转)
查看>>
创建iptables NAT规则(转)
查看>>
初始化简单的IP放火墙(Script)(转)
查看>>
恢复IpTables的默认设置(Script)(转)
查看>>
用iptales实现包过虑型防火墙(一)(转)
查看>>
用iptables实现NAT(转)
查看>>