如何建立局域网内已开机的电脑MAC列表?(200分)

  • 主题发起人 主题发起人 cyr
  • 开始时间 开始时间
C

cyr

Unregistered / Unconfirmed
GUEST, unregistred user!
如何才能获得这个列表?
 
给我发EMAIL
 
看看这个是不是你想要的。
http://www.delphibbs.com/delphibbs/dispq.asp?lid=1955649
 
uses nb30
Function NBGetAdapterAddress(a:integer) : String;
Implementation

{$R *.DFM}

Procedure TForm1.Button1Click(Sender : TObject);
Begin
label1.Caption:=NBGetAdapterAddress(StrtoInt(Edit1.Text));
End;

Function NBGetAdapterAddress(a:Integer) : String;
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[in
tIdx]),2);
Result := strTemp;
Finally
End;
End;
 
To:Xianjun
您的邮件地址是不是xianjun@163.net?已发邮件给您,我的email:c88@163.com

To:peng_qs
那里只有一个检查网络状态的韩树有点用,不过不能取得MAC地址。

To:quejian
您提供的例子好像只是获取本机的MAC地址。
 
To: Xianjun
谢谢您给我的例程,您所给的例程的处理方法是先找出网内所有工作组,然后找出所有计算机,再按计算机的IP发送SendARP查询MAC。
因为SendARP是基于TCP/IP协议的?这样对方安装防火墙不知能不能返回正确信息?能否直接用低层调用?
 
对方安装防火墙应该也可以取得的, 这时网络通讯的基础来的,已经就是“底层调用”了
 
To: Xianjun
能不能给我也发一份?
 
EMail:rannky@sina.com
 
To: Xianjun
能不能给我也发一份?EMail:scxxf@21cn.com

 
to all:
我在我的HTTP: http://xianjun.vicp.net 上放了一份: GetLanMacs.zip
 
http://zw84611.51.net/NBTSTAT.zip
 
后退
顶部