关于MFC中提取MAC地址

expter 2006-12-06 02:09:02
在MFC中...
关于得到自己电脑的MAC地址与修改MAC地址怎么实现啊...


谢谢...
...全文
229 点赞 收藏 6
写回复
6 条回复
飞翔熊 2006年12月29日
没有netbios也不想用iphelp怎么做?
回复 点赞
roc_zhang 2006年12月07日
Netbios协议
回复 点赞
idealist1986 2006年12月07日
goodboyws(深夜不眠者(VCMVP))
能将此方法拓展后用来控制无线网卡的相关参数么(如ssid,rate)?
回复 点赞
expter 2006年12月06日
?
回复 点赞
goodboyws 2006年12月06日

#include <Nb30.h>
/////////////////读取网卡号////////////////////////////////
typedef struct _ASTAT_
{
ADAPTER_STATUS adapt;
NAME_BUFFER NameBuff [800];//[30];
}ASTAT, * PASTAT;

ASTAT Adapter;
//------------------------------------------------------------------------------
// function : 获得网卡地址
// RetValue : success return TRUE and fill card number to *sCard
// author : speedo
BOOL GetNetBiosCardNumber(char *sCard)
{
char s[20] = {"------------"};
NCB Ncb;
UCHAR uRetCode;
char NetName[50];
LANA_ENUM lenum;
int i=0;

memset( &Ncb, 0, sizeof(Ncb) );
Ncb.ncb_command = NCBENUM;
Ncb.ncb_buffer = (UCHAR *)&lenum;
//Ncb.ncb_buffer = (UCHAR *)lenum;
Ncb.ncb_length = sizeof(lenum);
uRetCode = Netbios( &Ncb );

//读取卡号
memset( &Ncb, 0, sizeof(Ncb) );
Ncb.ncb_command = NCBRESET;
Ncb.ncb_lana_num = lenum.lana[i];

uRetCode = Netbios( &Ncb );

memset( &Ncb, 0, sizeof (Ncb) );
Ncb.ncb_command = NCBASTAT;
Ncb.ncb_lana_num = lenum.lana[i];

strcpy( (char*)Ncb.ncb_callname, "* ");
Ncb.ncb_buffer = (unsigned char*) &Adapter;
Ncb.ncb_length = sizeof(Adapter);

uRetCode = Netbios( &Ncb );
if ( uRetCode == 0 )
{
sprintf(s, "%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]
);

}
else
return FALSE;


strcpy( sCard, s);



return TRUE;
}
回复 点赞
expter 2006年12月06日
no people??
回复 点赞
发动态
发帖子
网络编程
创建于2007-09-28

7880

社区成员

6.4w+

社区内容

VC/MFC 网络编程
社区公告
暂无公告