获取网卡的MAC地址
来源:互联网 发布:车主数据贩卖 编辑:程序博客网 时间:2024/04/28 03:56
第一种方法:使用NetBIOS
包含头文件:nb30.h
支持库:Netapi32.lib
该方法只使用一个函数:Netbios(PNCB pncb),但是使用过程有点复杂,第二种方法比较简单
需要用到3个结构:NCB,LANA_ENUM,ADAPTER_STATUS
(只写上核心部分,其实如果只想要物理网卡的MAC地址,直接调用第3步就行了,这里可以列出多个MAC地址,除物理的外都是虚拟的)
1、用NCBENUM命令枚举系统中网卡的数量
NCB ncb;
LANA_ENUM lana_enum;
ADAPTER_STATUS adapter;
memset(&ncb,0,sizeof(ncb));
ncb.ncb_command = NCBENUM;
ncb.ncb_buffer = (unsigned char*)&lana_enum;
ncb.ncb_length = sizeof(lana_enum);
Netbios(&ncb); 成功则返回0,网卡数量在lana_enum.length
2、用NCBRESET重置网卡,网卡接受新的NCB命令时必须重置
memset(&ncb,0,sizeof(ncb));
ncb.ncb_command = NCBRESET;
ncb.ncb_lana_num = lana_enum.lana; lana_enum是第一步获取
Netbios(&ncb);
3、用NCBASTAT接受本地或远程接口卡的状态
memset(&ncb,0,sizeof(ncb));
ncb.ncb_command = NCBASTAT;
ncb.ncb_lana_num = lana_enum.lana; 同样为第一步获取的
strcpy((char*)ncb.ncb_callname,"* "); 该参数书上说是被呼叫应用的名字,还没搞懂啥意思
ncb.ncb_buffer = (unsigned char*)&adapter;
ncb.ncb_length = sizeof(adapter);
Netbios(&ncb);
MAC网卡地址:adapter.adapter_address
第二种方法:使用GetAdapterInfo
查询SDK有范例
- 获取网卡的mac地址
- 获取网卡的MAC地址
- 获取网卡的MAC地址
- 获取网卡MAC地址
- 获取网卡MAC地址
- 获取网卡Mac地址
- 获取网卡MAC地址
- 获取网卡MAC地址
- 获取网卡MAC地址
- 获取网卡MAC地址
- 获取网卡mac地址
- GetMAC([nIndex])获取网卡的MAC地址
- PHP获取网卡MAC地址的方法
- PHP获取网卡MAC地址的方法
- 获取客户端网卡的MAC地址
- 获取本机网卡的MAC地址?
- PHP获取网卡的MAC地址
- VC 获取物理网卡的MAC地址
- 波斯历和公历的转换
- STL容器使用该注意的一个问题
- 重新开始vc6/mfc学习——3.定时器、对话框以及菜单的初步使用
- 关于 无知……
- 关闭子窗口,刷新父窗口
- 获取网卡的MAC地址
- 通过注册表获取系统信息
- smarty获取当前时间
- 办个网站就这么难
- Delphi 删除控件问题
- web用户控件调用.aspx页面里的方法
- Silverlight实例教程 - Out of Browser的Debug和Notifications窗口
- CLRS 3rd Ch. 27 reading notes
- 不是很明白!