QQ登录

只需一步,快速开始

329上位机VC MFC获取本机的MAC地址

[ 复制链接 ]

329上位机VC MFC获取本机的MAC地址

329上位机VC MFC获取本机的MAC地址

获取本机的MAC地址
功能展示
在实际的上位机程序 开发中,时常需要在程序运行时获取MAC地址,作为一种标识使用,MAC地址是网卡的物理地址,是计算机通讯 的主要硬件设备,在生产网卡时MAC地址就已写入到硬件中,出现相同MAC地址的网上,概率几乎为0,所以MAC地址也常被用于标识网络中的计算机,我们当前例程演示如何 获得本机电脑MAC地址,效果如图,点击按钮就可将获得的MAC地址显示在编辑框中;

要点提示
通过Netbios()函数可以方便获取本机的MAC地址,函数原型UCHAR Netbios( PNCB pncb ); pncb是一个指向NCB类型指针
结构体为typedef struct _NCB { // ncb UCHAR ncb_command; UCHAR ncb_retcode; UCHAR ncb_lsn; UCHAR ncb_num; PUCHAR ncb_buffer; WORD ncb_length; UCHAR ncb_callname[NCBNAMSZ]; UCHAR ncb_name[NCBNAMSZ]; UCHAR ncb_rto; UCHAR ncb_sto; void (*ncb_post) (struct _NCB *); UCHAR ncb_lana_num; UCHAR ncb_cmd_cplt; UCHAR ncb_reserve[10]; HANDLE ncb_event; } NCB;
具体 结构体变量的介绍很多,可以参阅MSDN编程手册学习;

实现功能
1.新建基于对话框的应用程序
2.依照例程界面添加按钮<获取本机MAC地址>及编程框IDC_EDIT1,关联按钮的点击函数获得MAC地址
#include <nb30.h>
#pragma comment(lib,"netapi32.lib")
void CGkbc8Dlg::OnGet()
{
CString sMac;
NCB ncb;
ADAPTER_STATUS adapt;
memset(&ncb,0,sizeof(ncb));
ncb.ncb_command = NCBRESET;
Netbios(&ncb);//对网卡发送一个NCBRESET命令以便进行初始化
ncb.ncb_command = NCBASTAT;
strcpy((char *)ncb.ncb_callname,"*");
ncb.ncb_buffer = (unsigned char *)&adapt;// 指定返回的信息存放的变量
ncb.ncb_length = sizeof(adapt);
Netbios(&ncb);// 发送NCBASTAT命令以获取网卡的信息
sMac.Format( "%02X-%02X-%02X-%02X-%02X-%02X\n",
adapt.adapter_address[0],
adapt.adapter_address[1],
adapt.adapter_address[2],
adapt.adapter_address[3],
adapt.adapter_address[4],
adapt.adapter_address[5]);
SetDlgItemText(IDC_EDIT1,sMac);
}
我们来演示下功能实现的整个过程
请点击此处下载

请先注册会员后在进行下载

已注册会员,请先登录后下载

文件名称:329.上位机VC MFC获取本机的MAC地址.zip 
文件大小:135.88 KB  售价:11金币
下载权限: 不限 以上或 VIP会员   [购买捐助会员]   [充值积分]   有问题联系我

  

如果您认可,可联系功能定制!

  

如果您着急,充值会员可直接联系发您资料!

  

QQ联系我

微信扫扫联系我

  



回复

使用道具 举报

快速回复 返回列表 客服中心 搜索