找回密码
 立即注册
搜索
查看: 201|回复: 3

如何取的网卡的MAC号

[复制链接]

13

主题

33

回帖

60

积分

注册会员

积分
60
发表于 2004-8-13 11:22:07 | 显示全部楼层 |阅读模式
function TForm1.NBGetAdapterAddress(a: integer): String;
//a指定多个网卡适配器中的哪一个0,1,2...
Var
  NCB:TNCB; // Netbios control block file://NetBios控制块
  ADAPTER : TADAPTERSTATUS; // Netbios adapter status//取网卡状态
  LANAENUM : TLANAENUM; // Netbios lana
  intIdx : Integer; // Temporary work value//临时变量
  cRC : Char; // Netbios return code//NetBios返回值
  strTemp : String; // Temporary string//临时变量

Begin
  // Initialize
  Result := '';
  Try
    // Zero control blocl
    ZeroMemory(@NCB, SizeOf(NCB));
    // Issue enum command
    NCB.ncb_command:=Chr(NCBENUM);
    cRC := NetBios(@NCB);
    // Reissue enum command
    NCB.ncb_buffer := @LANAENUM;
    NCB.ncb_length := SizeOf(LANAENUM);
    cRC := NetBios(@NCB);
    If Ord(cRC)0 Then
      exit;
    // Reset adapter
    ZeroMemory(@NCB, SizeOf(NCB));
    NCB.ncb_command := Chr(NCBRESET);
    NCB.ncb_lana_num := LANAENUM.lana[a];
    cRC := NetBios(@NCB);
    If Ord(cRC)0 Then
      exit;
    // Get adapter address
    ZeroMemory(@NCB, SizeOf(NCB));
    NCB.ncb_command := Chr(NCBASTAT);
    NCB.ncb_lana_num := LANAENUM.lana[a];
    StrPCopy(NCB.ncb_callname, '*');
    NCB.ncb_buffer := @ADAPTER;
    NCB.ncb_length := SizeOf(ADAPTER);
    cRC := NetBios(@NCB);
    // Convert it to string
    strTemp := '';
    For intIdx := 0 To 5 Do
      strTemp := strTemp + InttoHex(Integer(ADAPTER.adapter_address[intIdx]),2);
    Result := strTemp;
  Finally
  End;

最后别忘了uses nb30.pas
经测试,98,2000下都可以用

完全看不懂,高手解释一下[/SIZE]

73

主题

1742

回帖

2408

积分

论坛元老

积分
2408
发表于 2004-8-14 16:34:30 | 显示全部楼层
好复杂啊
回复

使用道具 举报

5

主题

710

回帖

966

积分

金牌会员

积分
966
发表于 2004-8-14 17:36:38 | 显示全部楼层
这是PASCAL语言编的一段代码!
自己理解去吧!
回复

使用道具 举报

8

主题

198

回帖

281

积分

海星

积分
281
发表于 2004-8-17 12:45:23 | 显示全部楼层
真的...复杂的说........
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|海浩社区

GMT+8, 2025-9-19 23:58 , Processed in 0.079856 second(s), 20 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表