新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 利用C++程序獲取網卡的相關信息

        利用C++程序獲取網卡的相關信息

        作者: 時間:2010-09-14 來源:網絡 收藏

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

        本文引用地址:http://www.104case.com/article/151546.htm

          #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

          }



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 乌兰浩特市| 堆龙德庆县| 吕梁市| 安仁县| 陇南市| 松滋市| 通州区| 穆棱市| 芦山县| 桃园县| 青浦区| 抚州市| 澄江县| 榆林市| 新宾| 密云县| 南涧| 定日县| 绥德县| 榆林市| 资阳市| 新化县| 广丰县| 襄垣县| 陕西省| 绵阳市| 临朐县| 鸡泽县| 荔浦县| 黑龙江省| 繁峙县| 本溪| 黄山市| 宁明县| 宁晋县| 安徽省| 郴州市| 衡阳市| 峨眉山市| 芷江| 乐亭县|