获取本机IP及网卡信息

Ж风之羽Ж 发表于 2008-07-21 11:39:12

PIP_ADAPTER_INFO pinfo=NULL;
 unsigned long len=0;

 if (pinfo!=NULL)
  delete (pinfo);
 unsigned  long nError;

 //获得本地计算机的MAC地址,第一次是取不到的,下面第2次循环才可以获取到信息
 MacInfo info;
 nError = GetAdaptersInfo(pinfo,&len);
 if (nError==0)
 {
  do
  {
   sprintf(info.MacAddress, "%02X-%02X-%02X-%02X-%02X-%02X",
    pinfo->Address[0],
    pinfo->Address[1],
    pinfo->Address[2],
    pinfo->Address[3],
    pinfo->Address[4],
    pinfo->Address[5]);
  }
  while((pinfo = pinfo->Next) != NULL);
 }

 if (nError==ERROR_BUFFER_OVERFLOW)
 {
    //pinfo包含的相关信息可以根据自己的需要取
  pinfo= (PIP_ADAPTER_INFO)malloc(len);
  nError = GetAdaptersInfo(pinfo,&len);
  if (nError==0)
  {
   do
   {  
    sprintf(info.MacAddress, "%02X-%02X-%02X-%02X-%02X-%02X",
     pinfo->Address[0],
     pinfo->Address[1],
     pinfo->Address[2],
     pinfo->Address[3],
     pinfo->Address[4],
     pinfo->Address[5]);
    sprintf(info.MacDescribe,pinfo->Description);
    sprintf(info.IPAddress,pinfo->IpAddressList.IpAddress.String);
    //这里用了成员变量来保存取到的信息
    m_vMacaddress.push_back(info);
   }
    //循环获取,很多机器都有多个网卡
   while((pinfo = pinfo->Next) != NULL);
  }
 }

 if (pinfo!=NULL)
 {
  delete (pinfo); 
 }

关键词(Tag): 网卡 mac ip 获取

收藏: QQ书签 del.icio.us 订阅: Google 抓虾

最新评论

发表评论

* 昵称

已经注册过? 请登录

新用户请先注册 以便能显示头像及追踪评论回复

Email
网址
* 评论
表情
 
 

分类小组论坛
杂谈, 娱乐、八卦, 文学、艺术, 体育, 旅游、同城, 象牙塔, 情感, 时尚、生活, 星座, 科技

请注意遵守中华人民共和国法律法规, 如威胁到本站生存, 将依法向有关部门报告, 同时本站的相关记录可能成为对您不利的证据.

相关法律法规
全国人大常委会关于维护互联网安全的决定
中华人民共和国计算机信息系统安全保护条例
中华人民共和国计算机信息网络国际联网管理暂行规定
计算机信息网络国际联网安全保护管理办法
计算机信息系统国际联网保密管理规定