各位老大 如何在不连网时也能获取MAC地址??? rt,怎样在不连网时也能取得MAC地址,我现在用Netbios只要接上网线,就没问题,拔掉网线,就获取不了,查了一下,说是在2000/xp后就不行了,98还可以。可是我现在不接网线,使用ipconfig命令还是可以取到网卡Mac的,请问有其他途径吗? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 试试iphlpapi.dll提供的GetIfTable函数 你别用网络编程的API得到你用winApi试试 typedef struct _ASTAT_ { ADAPTER_STATUS adapt; NAME_BUFFER NameBuff [30]; }ASTAT, * PASTAT; ASTAT Adapter; NCB ncb; UCHAR uRetCode; char NetName[50]; memset( &ncb, 0, sizeof(ncb) ); ncb.ncb_command = NCBRESET; ncb.ncb_lana_num = 0; uRetCode = Netbios( &ncb ); if (uRetCode!=0) EdNetAdapterNumber->Text="网卡初始化失败!"; memset(&ncb, 0, sizeof(ncb) ); ncb.ncb_command = NCBASTAT; ncb.ncb_lana_num = 0; strcpy( ncb.ncb_callname, "* " ); ncb.ncb_buffer = (char *) &Adapter; ncb.ncb_length = sizeof(Adapter); uRetCode = Netbios( &ncb ); if ( uRetCode == 0 ) { AnsiString Address; int i; Address=""; for(i=0;i<6;i++) { Address+=IntToHex((int)Adapter.adapt.adapter_address[i],2); } EdNetAdapterNumber->Text=Address ; } MAC地址理论上是固定于网卡的,联网与否无所谓 to ouyh12345 (五岭散人) 谢谢,我使用该函数在我的机子上是没问题的,可是换了台机子,无论是否连网,都获取不到MAC,请问这是什么原因 对,在自己的机子上是没问题的,我的是xp,换的那台机子也是xp 没遇到过我在公司的所有机器上,都能获得mac地址的看看什么地方出了错? 依次单击“开始”→“运行”→输入“cmd”→回车,在出现的命令提示符界面中输“ipconfig /all”(注意“/”前有一空格)→回车,可以得到计算机的MAC地址。其中Physical Address就是计算机的MAC地址。请把显示的“本地连接”和“无线连接”的MAC地址(形如00-11-22-33-44-FF的6组2位字符)记下,到管理系统中填报。 CRichEditCtrl 类似windows画图板的文字插入效果 动态申请数组问题 怎样让c++基础变得很扎实? 让已存在的一个程序成为另外一个程序的孩子 tcp,udp本身有对数据加密,我们在应用层该如何对数据包加密呢,讲讲好的加密算法。 UDP通讯,需要一个超强、高效的通讯服务程序,请大侠们不吝赐教!! 有关CListCtrl 的代码 如何抓取WinLogon桌面 (Win2K登陆或锁定计算机时的桌面)? 如何从工作区中删除一个工程? 如何在程序中实现应用程序的远程安装? OPENGL图形转动时闪烁 为什么 debug 的时候 .pdb 文件会跑出文件夹 ?
你用winApi试试
{
ADAPTER_STATUS adapt;
NAME_BUFFER NameBuff [30];
}ASTAT, * PASTAT;
ASTAT Adapter;
NCB ncb;
UCHAR uRetCode;
char NetName[50];
memset( &ncb, 0, sizeof(ncb) );
ncb.ncb_command = NCBRESET;
ncb.ncb_lana_num = 0;
uRetCode = Netbios( &ncb );
if (uRetCode!=0)
EdNetAdapterNumber->Text="网卡初始化失败!";
memset(&ncb, 0, sizeof(ncb) );
ncb.ncb_command = NCBASTAT;
ncb.ncb_lana_num = 0;
strcpy( ncb.ncb_callname, "* " );
ncb.ncb_buffer = (char *) &Adapter;
ncb.ncb_length = sizeof(Adapter);
uRetCode = Netbios( &ncb );
if ( uRetCode == 0 )
{
AnsiString Address;
int i;
Address="";
for(i=0;i<6;i++)
{
Address+=IntToHex((int)Adapter.adapt.adapter_address[i],2);
}
EdNetAdapterNumber->Text=Address ;
}
谢谢,我使用该函数在我的机子上是没问题的,可是换了台机子,无论是否连网,都获取不到MAC,请问这是什么原因
我在公司的所有机器上,都能获得mac地址的看看什么地方出了错?