获取远程网卡MAC地址。

    技术2022-05-11  96

    首先在头文件定义中加入#include "nb30.h"#pragma comment(lib,"netapi32.lib")typedef struct _ASTAT_{ ADAPTER_STATUS adapt; NAME_BUFFER    NameBuff[30];} ASTAT, * PASTAT;

    就可以这样调用来获取远程网卡MAC地址了:CString GetMacAddress(CString sNetBiosName){    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;     sNetBiosName.MakeUpper();     FillMemory(ncb.ncb_callname, NCBNAMSZ - 1, 0x20);     strcpy((char *)ncb.ncb_callname, (LPCTSTR) sNetBiosName);     ncb.ncb_callname[sNetBiosName.GetLength()] = 0x20;    ncb.ncb_callname[NCBNAMSZ] = 0x0;     ncb.ncb_buffer = (unsigned char *) &Adapter;    ncb.ncb_length = sizeof(Adapter);     uRetCode = Netbios(&ncb);        CString sMacAddress;     if (uRetCode == 0)    {     sMacAddress.Format(_T("xxxxxx"),         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]);    }    return sMacAddress;}


    最新回复(0)