欢迎访问:常州市武进区嘉泽中心小学网站 !今天是:
栏目列表
您现在的位置是:首页>>教师>>计算机技术>>程序设计>>杂项>>文章内容
获取远程网卡MAC地址。
发布时间:2008-11-20   点击:   来源:本站原创   录入者:佚名
 

首先在头文件定义中加入#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("%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]);
    }
    return sMacAddress;
}


附件:
    关闭窗口
    打印文档
    账号登录
    保持登录 忘记密码?
    账号与武进教师培训平台同步