我想做个组件可以查找到局域网内已知ip的计算机的名字?(100分)

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

crodling

Unregistered / Unconfirmed
GUEST, unregistred user!
我事先通过asp知道他们的ip地址,由于ip是动态分配的,所以不能做ip和机器名的对应表
来查找。我用getcomputername()得到的却是服务器的名字!有什么办法可以得到么?
 
ping -a 192.168.10.11
这个命令可以得到计算机名字。
 
可是在程序里怎么做出来呢?直接调用外部命令,得到机器名字放在哪里?
不好意思,小弟接触delphi不多,开发组件更是经验不足,
能否给段源码看一下呢
 
uses winsock;

function iptoname(ip: string): string;
var
WSAData: TWSAData;
p: PHostEnt;
InetAddr: dword;
begin
result := '''';
WSAStartup(2, WSAData);
InetAddr := inet_addr(PChar(IP));
try
p := GetHostByAddr(@InetAddr, Length(IP), PF_Inet);
if p <> nil then result := p^.h_name;
except
result := '''';
end;
end;
 
上面的方法可以用。。。
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
3K
SUNSTONE的Delphi笔记
S
S
回复
0
查看
2K
SUNSTONE的Delphi笔记
S
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部