Ver Mensaje Individual
  #4  
Antiguo 23-04-2006
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Reputación: 24
seoane Va por buen camino
Usando la direccion anterior podemos hacer una funcion que nos devuelva la ip.

Código Delphi [-]
uses WinInet, Winsock;

const
  Pagina = 'http://dynupdate.no-ip.com/ip.php';

function ObtenerIP: String;
var
  hNet: HINTERNET;
  hUrl: HINTERNET;
  Buffer: array[0..15] of Char;
  BytesRead: DWORD;
begin
  Result := '';
  hNet := InternetOpen('agent', INTERNET_OPEN_TYPE_PRECONFIG, nil, nil, 0);
  if (hNet <> nil) then
  begin
    hUrl := InternetOpenUrl(hNet, Pagina, nil, 0, INTERNET_FLAG_RELOAD, 0);
    if (hUrl <> nil) then
    begin
      FillChar(Buffer,Sizeof(Buffer),0);
      if InternetReadFile(hUrl, @Buffer, sizeof(Buffer)-1, BytesRead) then
        // Aqui comprobamos que la direccion que nos devuelve tiene el formato correcto
        if inet_addr(@Buffer)<>INADDR_NONE then
          Result:= Buffer;
      InternetCloseHandle(hUrl);
    end;
    InternetCloseHandle(hNet);
  end;
end;

Última edición por seoane fecha: 23-04-2006 a las 12:18:32.
Responder Con Cita