⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bcb.getmacfromip.txt

📁 在 C++ Builder 通过IP地址获取MAC地址
💻 TXT
字号:
//---------------------------------------------------------------------------
//通过IP地址获取MAC地址
#include   "winsock.h"   
#include   <nb30.h>
#include   <iostream.h>

  LPCSTR   __fastcall   GetMacFromIP(AnsiString   strIP)
  {   
          WSAData   GInitData;   
          if   (WSAStartup(MAKEWORD(2,1),&GInitData)   !=   0)   
          {
                  return   "初始化SOCKET函数失败!";   
          }   
        typedef   struct   _ASTAT_
          {
              ADAPTER_STATUS   adapt;   
              NAME_BUFFER   NameBuf[30];   
          }ASTAT,*   PASTAT;   
        ASTAT   Adapter;   
        NCB   ncb;   
        UCHAR   uRetCode;   
        memset(&ncb,0,sizeof(ncb));   
        ncb.ncb_command=NCBRESET;   
        ncb.ncb_lana_num=0;   
        uRetCode=Netbios(&ncb);   
        memset(&ncb,0,sizeof(ncb));   
        ncb.ncb_command=NCBASTAT;   
        ncb.ncb_lana_num=0;   
        strcpy((char   *)ncb.ncb_callname,strIP.c_str());   
        ncb.ncb_buffer=(unsigned   char   *)&Adapter;   
        ncb.ncb_length=sizeof(Adapter);   
        uRetCode=Netbios(&ncb);   
        if(uRetCode==0)   
            {   
                char   mac[15],   *   lpmac;   
                sprintf(mac,"%02X-%02X-%02X-%02X-%02X-%02X",   
                Adapter.adapt.adapter_address[0],   
                Adapter.adapt.adapter_address[1],   
                Adapter.adapt.adapter_address[2],   
                Adapter.adapt.adapter_address[3],   
                Adapter.adapt.adapter_address[4],   
                Adapter.adapt.adapter_address[5]);   
                lpmac=mac;   
                WSACleanup();   
                return   lpmac;   
            }   
            else   
            {   
            WSACleanup();   
            return   "无法解释MAC地址";   
            }   
  }
/*   测试代码: 
void   __fastcall   TForm1::Button1Click(TObject   *Sender) 
{ 
   ShowMessage(GetMacFromIP("192.168.110.226"));
}*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -