如何用delphi获得网卡的物理地址

fengyer 2000-06-09 12:35:00
...全文
388 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
fengyer 2000-06-24
  • 打赏
  • 举报
回复
谢谢各位大侠的指点,我已解决了这个问题
w102272 2000-06-14
  • 打赏
  • 举报
回复
看我的!
//获取网卡地址,使用netbios 3.0调用 uses nb30.pas shipped with delphi 4.0
function _NetCardAddress : String ;
var
NCB : TNCB ; // Netbios control block
ADAPTER : TADAPTERSTATUS ; // Netbios adapter status
LANAENUM : TLANAENUM ; // Netbios lana
intIdx : Integer ; // Temporary work value
CRC : Char ; // Netbios return code
strTemp : String ; // Temporary string
begin
Result := '' ;
try
ZeroMemory(@NCB,SizeOf(NCB)) ; // Zero control blocl
NCB.ncb_command := Chr(NCBENUM) ; // Issue enum command
cRC := NetBios(@NCB) ;
if Ord(cRC)>0 then begin
result:=_NBReturnMSG(crc);
exit ;
end;

NCB.ncb_buffer := @LANAENUM ; // Reissue enum command
NCB.ncb_length := SizeOf(LANAENUM);
cRC := NetBios(@NCB) ;
if Ord(cRC)>0 then begin
result:=_NBReturnMSG(crc);
exit ;
end;
ZeroMemory(@NCB,SizeOf(NCB)) ; // Reset adapter
NCB.ncb_command := Chr(NCBRESET) ;
NCB.ncb_lana_num := LANAENUM.lana[0] ;
cRC := NetBios(@NCB) ;
if Ord(cRC)>0 then begin
result:=_NBReturnMSG(crc);
exit ;
end;
ZeroMemory(@NCB,SizeOf(NCB)) ; // Get adapter address
NCB.ncb_command := Chr(NCBASTAT) ;
NCB.ncb_lana_num := LANAENUM.lana[0] ;
StrPCopy(NCB.ncb_callname,'*') ;
NCB.ncb_buffer := @ADAPTER ;
NCB.ncb_length := SizeOf(ADAPTER) ;
cRC := NetBios(@NCB) ;
if Ord(cRC)>0 then begin
result:=_NBReturnMSG(crc);
exit ;
end; // Convert Netcard address it to string
strTemp := '' ;
for intIdx := 0 to 5 do strTemp := strTemp + _Char2Hex(ADAPTER.adapter_address[intIdx]) ;
Result := strTemp ;
finally
end ;
end ;
zxghl 2000-06-14
  • 打赏
  • 举报
回复
不知你指的是在Window3.2(16Bit Delphi)还是Windows95&98&2000(32Bit Delphi),如果是32位Delphi,使用Netbios(nb30.pas),如果是16位Delphi,使用NetBiosCall(汇编语言)。前一段时间从网上下载了一个控件,可以实现此功能,如果需要,请告知:ZXGHL&NETEASE.COM。
hhzh426 2000-06-13
  • 打赏
  • 举报
回复
很感兴趣!
sundyl 2000-06-09
  • 打赏
  • 举报
回复
我的机器没有安装网卡也可以获得GUID,这时候我增么才能知道,机器有没有安装网卡。
如果认为安装了一个悉尼的网卡,我又该如何区分呢?
usage 2000-06-09
  • 打赏
  • 举报
回复
获得GUID,后48位即是!
halfdream 2000-06-09
  • 打赏
  • 举报
回复
我这儿有一个程序。不过程序是BCB的。如果你的话我EMAIL给你。

5,379

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧