您当前位置:闸机网 >> 相关资源 >> delphi >> 浏览文章      |关键词: SendMessage delphi

获取本机IP地址

2011-10-31 16:05:19 互联网 未知 【字体:

uses
  WinSock;

function LocalIP: String;
type
  TaPInAddr = Array[0..10] of PInAddr;
  PaPInAddr = ^TaPInAddr;
var
  phe: PHostEnt;
  pptr: PaPInAddr;
  Buffer: Array[0..63] of AnsiChar;
  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 := inet_ntoa(pptr^[i]^);
    Inc(i);
  end;
  WSACleanup;
end;

//测试:
procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(LocalIP);  //
end;

相关栏目:

网友评论: