怎么获取主机IP?(10分)

  • 主题发起人 主题发起人 wphoenix1213
  • 开始时间 开始时间
function Tfrm_Send.GetHostIP(HostName: String): String;
var
buf:pChar;
iWsaRet:Integer;
Data:WSAData;
hostent:PHostEnt;
begin
Result := '';
iWsaRet := WSAStartup($101,Data);
if iWsaRet<>0 then
begin
ShowMessage('Socket initialize error!');
Exit;
end;
buf := Allocmem(60);
strcopy(buf,PChar(HostName));
if Trim(buf)='' then
gethostname(buf,60);
hostent := gethostbyname(buf);
Freemem(buf,60);
if hostent=nil then
Exit;
Result := inet_ntoa(pinAddr(hostent^.h_addr^)^);
WSACleanup();
end;
 
如果hostname为空,则取本机的IP。
 
您是要取本机IP地址是不是?
 
本地的以及远程的都要。
 
就上面的代码,如果是本地的传参数的时候传空,如果是其他的计算机,则传计算机名。
 
多谢了!!!!![:)]
 
后退
顶部