当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]获取网卡的相关信息的C++源码

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

  #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<

  }

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

苹果(Apple)发布截至9月24日2022财年第四财季及全年财报。第四财季总净营收901.46亿美元,同比增8%;净利润207.21亿美元,同比增1%。大中华区营收154.70亿美元,同比增6%。具体来看,iPhone...

关键字: 苹果公司 APPLE IPAD iPhone

美国特殊玻璃和陶瓷材料制造商康宁公司(Corning)发现,用于智能手机的玻璃面板销售出现放缓。康宁公司玻璃面板的产能利用率达到2008年以来的最低水平。三季度,公司面向智能手机业务的销量同比下降了14%,平板电脑和笔记...

关键字: 智能手机 康宁 APPLE IPAD

在iPhone 14 Plus首次亮相不到两周的时间里,苹果(Apple)正在削减该机型产量。苹果已要求至少一家中国制造商立即停止iPhone 14 Plus组件的生产,同时其采购团队重新评估对该产品的需求。苹果在中国的...

关键字: iPhone 苹果 APPLE IPAD

(全球TMT2022年9月23日讯)莱维特发布新一代高性能声卡-CONNECT 6。它是一款面向音乐人、内容创作者和主播等多应用场景的专业级声卡,适配Windows、Mac电脑和iPhone,iPad及Android手...

关键字: NEC 声卡 IPAD 软件

在2015年的出货量巅峰之后,iPhone的全球出货量就逐年下滑,苹果正计划在接下来的两年里让自己的产品线活跃起来。近日,据外媒报道,苹果即将推出一款可折叠的设备,但不会是iPhone。

关键字: iPhone 苹果 IPAD NET

据外媒消息,苹果有望在新款iPhone上采用全新的命名方式。新iPhone可能命名为“iPhone Pro”或“iPhone 11 Pro”。业界人士称苹果这样做的原因有可能是统一Phone、i

关键字: iPhone 苹果 IPAD MACBOOK

本站此前曾报道过,苹果有望在今年推出搭载10.2英寸的新一代iPad,那定位更高的iPad Pro呢?8月18日,据供应链消息称,苹果计划在今年10月推出新一代iPad Pro,不出意外的话就是

关键字: iPhone 苹果 IPAD MAC

据产业链最新消息称,苹果将在今年10月份发布新一代iPad,而新的iPad Pro将会换上后置三摄,其外形上不会有太大变化,毕竟去年才刚刚调整过。 报道中提到,苹果今年不会对iPad P

关键字: 苹果 IPAD 摄像头 MACBOOK

未来数周/月,苹果将推出多款新硬件,其中包括“Pro”版iPhone、升级版iPad和数年来尺寸最大的笔记本。 知情人士透露,苹果计划下个月公布三款iPhone。这三款全新iPhone可

关键字: iPhone 苹果 相机 IPAD

Bitcoin Cash从0.16.2版本开始推出了CashAddr格式,老的比特币格式的地址被称为Legacy(遗产)地址,升级节点至0.16.2后,所有的RPC地址展示都用了CashAddr

关键字: 比特币 TC SE ADDRESS
关闭
关闭