5,388
社区成员
发帖
与我相关
我的任务
分享
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
result:='';
wsastartup($101,ginitdata);
try
gethostname(buffer,sizeof(buffer));
phe:=gethostbyname(buffer);
if phe<>nil then
begin
pptr:=papinaddr(phe^.h_addr_list);
I:=0;
while pptr^[i]<>nil do
begin
result:=strpas(inet_ntoa(pptr^[i]^));
inc(i);
end;
end;
finally
wsacleanup;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
edit1.Text:=localIP; //取出IP
end;