新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 利用C++程序獲取網(wǎng)卡的相關(guān)信息

利用C++程序獲取網(wǎng)卡的相關(guān)信息

作者: 時間:2010-09-14 來源:網(wǎng)絡(luò) 收藏

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

本文引用地址:http://2s4d.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(沒有網(wǎng)絡(luò)設(shè)備);

  }

  if (nError==ERROR_NOT_SUPPORTED)

  {

  OutPut(GetAdaptersInfo不支持本系統(tǒng));

  }

  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(網(wǎng)絡(luò)設(shè)備為:t+description);

  OutPut(Mac地址為:t+macaddress);

  OutPut(類型:t+type);

  OutPut(IP地址:t+IpAddress);

  OutPut(子網(wǎng)掩碼:t+subnet);

  OutPut(網(wǎng)關(guān):t+gateway);

  OutPut(主Wins服務(wù)器:t+PrimaryWinsServer);

  OutPut(dhcp服務(wù)器:t+dhcp);

  }

  void OutPut(CString str)

  {

  cout

  }



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉