不通过netbios的话,如何取网卡的mac address(100分)

  • 主题发起人 主题发起人 honghs
  • 开始时间 开始时间
H

honghs

Unregistered / Unconfirmed
GUEST, unregistred user!
网上所能找到的取网卡mac address的例程,几乎都是通过netbios来取mac address的(连msdn中的也是)
现在的问题是,ms高版本的操作系统像nt和2000,缺省的网络协议是tcp/ip。在没装netbios协议的机器
上,如何取出网卡的mac address呢?
 
装netbios协议
 
jqw,如果要装的话,我也没必要拿分出来问了,ms的2000上缺省是不装netbios的,那他们如何通讯,
肯定有办法取出mac address来的嘛
 
可以直接在注册表里查嘛
 
zjlcc:在哪里呢?
 
程序员大本营中这样子说,但多运行几次,好象每次的结果都不一样啊??
uses comobj,actives;
function SysGetNicAddress:string;
var
Tmp:TGUID;
tmpstr,newstr:string;
cnt:Integer;
begin
try
CoCreateGuid(Tmp);
tmpstr:=GUIDToString(Tmp);
tmpstr:=Copy(tmpstr,Length(tmpstr)-12,12);
for cnt:=1 to 5 do
newstr :=newstr+Copy(tmpstr,cnt*2 -1 ,2)+'-' ;
newstr :=newstr+Copy(tmpstr,11,2);
except
newstr:='';
end;
Result :=newstr;
end;
 
98下似乎没有问题的 哪位在2000/nt上试一下?
btw:应该是 uses comobj,activex;
 
g622,我一不小心打错字了,你就将就着点吧,呵呵
2000下不行,nt下没试过
 
这问题不是已解决了?
 
多人接受答案了。
 
后退
顶部