function Tconfigform.GetLocalIP: string; //获取本机IP地址
type
   TaPInAddr = array[0..255] of PInAddr; //Use Winsock.pas
   PaPInAddr = ^TaPInAddr;
var
   phe: PHostEnt;
   pptr: PaPInAddr;
   Buffer: array[0..63] of char;
   i: integer;
   GInitData: TWSADATA;
begin
   ipinfo.Clear ;
   ipinfo.Text :=  frm_Tray.IpAddress ;
   wsastartup($101, GInitData);
   result := '';
   GetHostName(Buffer, SizeOf(Buffer));
   phe := GetHostByName(buffer);
   if not assigned(phe) then
     exit;
   pptr := PaPInAddr(Phe^.h_addr_list);
   i := 0;
   while pptr^[I] <> nil do
   begin
     ipinfo.Items.Add(StrPas(inet_ntoa(pptr^[I]^)) );
     inc(i);
   end;
   Delete(Result, Length(Result), 1);
   wsacleanup;
end;