美文网首页
DELPHI 快速获取本机IP地址

DELPHI 快速获取本机IP地址

作者: 挺热爱生活的阳阳 | 来源:发表于2023-11-11 19:40 被阅读0次

废话不多说,直接上代码

function GetLocalIP:string;

//获取本机地址,在uses 里引用 winsock 单元。

type

  TaPInAddr = array [0..10] of PInAddr;

//用于存储活动的ip地址列表

  PaPInAddr = ^TaPInAddr;

var

  phe  : PHostEnt;

  pptr : PaPInAddr;

  Buffer : array [0..63] of char;    //store hostname

  I    : Integer;

  GInitData      : TWSADATA;

  wVersion:word;

begin

  wVersion:=MAKEWORD(1,1);    //winsock dll version

  Result :='';

  if WSAStartup(wVersion, GInitData)=0 then  //初始化windows socket

  begin

    if GetHostName(Buffer, SizeOf(Buffer))=0 then  //计算机名称

        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;          //关闭、清理windows socket

  end;

end;


//执行,获取本机IP地址

procedure TFormMDS.FormCreate(Sender: TObject);

begin

Edit3.Text:=GetLocalIP;

end;

相关文章

网友评论

      本文标题:DELPHI 快速获取本机IP地址

      本文链接:https://www.haomeiwen.com/subject/dvqlwdtx.html