注册 登录
编程论坛 Delphi论坛

怎样用Delphi中根据IP地址得到主机名~

lin9302 发布于 2009-08-28 11:43, 1070 次点击
哪位高手可以教一下~~小弟感激


欢迎来本空间交流http://375560782.qzone.
2 回复
#2
s9123601012009-09-19 17:51
不懂???
#3
amex582009-09-24 15:35
{=================================================================
  功  能: 通过ip返回机器名
  参  数:
          ipaddr: 想要得到名字的ip
  返回值: 成功:  机器名   失败:  ''
=================================================================}
function getnamebyipaddr(ipaddr : string;var macname:string): boolean;
var
  sockaddrin: tsockaddrin;
  hostent: phostent;
  wsadata: twsadata;
begin
  result := false;
  if ipaddr = '' then exit;
  try
    wsastartup(2, wsadata);
    sockaddrin.sin_addr.s_addr := inet_addr(pchar(ipaddr));
    hostent := gethostbyaddr(@sockaddrin.sin_addr.s_addr, 4, af_inet);
    if hostent <> nil then
      macname := strpas(hostent^.h_name);
    result := true;
  finally
    wsacleanup;
  end;
end;
1