06-06-2011, 04:05 AM
السلام عليكم
هل يمكن سحب IP Address WAN عن طريق delphi بدون اللجوء الى موقع مثل whatismyip ؟؟
جربت هذا الكود لكن دائما يضهر لي IP LAN
اضن لانني خلف Router
شكرا
هل يمكن سحب IP Address WAN عن طريق delphi بدون اللجوء الى موقع مثل whatismyip ؟؟
جربت هذا الكود لكن دائما يضهر لي IP LAN
كود :
function TForm1.ReadIPs: TStrings;
type
TaPInAddr = array[0..10] of PInAddr;
PaPInAddr = ^TaPInAddr;
var
Buffer: array[0..63] of AnsiChar;
iI: Integer;
PPtr: PaPInAddr;
pHE: PHostEnt;
GInitData: TWSAData;
begin
WSAStartup($101, GInitData);
Result := TStringList.Create;
Result.Clear;
GetHostName(Buffer, SizeOf(Buffer));
pHE := GetHostByName(buffer);
if pHE = nil then
Exit;
PPtr := PaPInAddr(pHE^.H_Addr_List);
iI := 0;
while pPtr^[iI] <> nil do begin
Result.Add(Inet_NToA(PPtr^[iI]^));
Inc(iI);
end;
WSACleanup;
end;اضن لانني خلف Router
شكرا