现在的位置: 首页 > 综合 > 正文

返回主机名和Ip地址(Delphi)

2017年12月01日 ⁄ 综合 ⁄ 共 722字 ⁄ 字号 评论关闭

// 该函数返回主机名
function HostName : string;
var
    Buffer : array [0..63] of char;
    GInitData      : TWSADATA;
begin
    WSAStartup($101, GInitData);
    Result := '';
    GetHostName(Buffer, SizeOf(Buffer));
    Result := StrPas(Buffer);
    WSACleanup;
end;
// 该函数返回本机IP
function LocalIP : string;
type
    TaPInAddr = array [0..10] of PInAddr;
    PaPInAddr = ^TaPInAddr;
var
    phe  : PHostEnt;
    pptr : PaPInAddr;
    Buffer : array [0..63] of char;
    I    : Integer;
    GInitData      : TWSADATA;

begin
    WSAStartup($101, GInitData);
    Result := '';
    GetHostName(Buffer, SizeOf(Buffer));
    phe :=GetHostByName(buffer);
    if phe = nil then Exit;
    pptr := PaPInAddr(Phe^.h_addr_list);
    I := 0;
    while pptr^[I] <> nil do begin
      result:=StrPas(inet_ntoa(pptr^[I]^));
      Inc(I);
    end;
    WSACleanup;
end; 

抱歉!评论已关闭.