Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-06-2008
Maycoll Maycoll is offline
Registrado
 
Registrado: ago 2006
Posts: 8
Poder: 0
Maycoll Va por buen camino
¿Cómo saber la URL en el navegador?

Hola a todos.
encontre este codigo

function TForm1.GetURL_IE: string;
var
hIeWindow, hWorkerA, hToolbar, hComboBoxEx,
hComboBox, hEdit: hWnd;
Buffer: array[0..255] of Char;
begin
hIeWindow := FindWindow('IEFrame', nil);
if hIeWindow 0 then
begin
hWorkerA := FindWindowEx(hIeWindow, 0, 'WorkerA', nil);
hToolbar := FindWindowEx(hWorkerA, 0, 'RebarWindow32', nil);
hComboBoxEx := FindWindowEx(hToolbar, 0, 'ComboBoxex32', nil);
hComboBox := FindWindowEx(hComboBoxEx, 0, 'ComboBox', nil);
hEdit := FindWindowEx(hComboBox, 0, 'Edit', nil);
Sendmessage (hEdit, WM_GETTEXT, Length(Buffer), Longint(@Buffer));
Result := String(Buffer);
end
else
begin
Result := ' ';
end;

pero me da error cuando pregunta en el if hIeWindow 0 then
si pueden me ayudan me da error gracias a
todos por colaborar con sus respuestas.
Responder Con Cita
  #2  
Antiguo 17-06-2008
Avatar de Black_Ocean
Black_Ocean Black_Ocean is offline
Miembro
 
Registrado: nov 2006
Posts: 128
Poder: 18
Black_Ocean Va por buen camino
Hola,

Aparte de errores de sintaxis en la comparación del If, de no estar declarada la función TForm1.GetURL_IE como pública o privada en el form, ese código no funciona ya que tiene un error de especificación de clase de objeto de IE.

Te lo he arreglado para que funcione en Internet Explorer 5.0 y 6.0 e implementado para Unicode, no se si funcione con IE 7 porque no lo tengo instalado para probarlo.

Código Delphi [-]
function Obtener_URL_Actual_IE: WideString;
var
  hIeWindow, hWorkerW, hToolbar, hComboBoxEx, hComboBox, hEdit: HWND;
  Buffer: array[0..255] of Char;
begin
  hIeWindow := FindWindow('IEFrame', nil);
  if hIeWindow > 0 then
  begin
    hWorkerW := FindWindowEx(hIeWindow, 0, 'WorkerW', nil);
    hToolbar := FindWindowEx(hWorkerW, 0, 'ReBarWindow32', nil);
    hComboBoxEx := FindWindowEx(hToolbar, 0, 'ComboBoxEx32', nil);
    hComboBox := FindWindowEx(hComboBoxEx, 0, 'ComboBox', nil);
    hEdit := FindWindowEx(hComboBox, 0, 'Edit', nil);
    Sendmessage (hEdit, WM_GETTEXT, Length(Buffer), Longint(@Buffer));
    Result := WideString(Buffer);
  end
  else
  begin
    Result := ' ';
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  ShowMessage(Obtener_URL_Actual_IE);
end;

Y lo correcto en este caso no es declarar la función Obtener_URL_Actual_IE como pública o privada del form porque no es un evento del formulario, sino que es una simple función para obtener un dato externo, por lo que debes declararla debajo de Implementation

En todo caso, hay otras formas más digamos "adecuadas" para obtener enlaces del navegador, ya que esta función sólo obtendrá la URL de la primera ventana que encuentre la función por el handle devuelto. Si hay más ventanas de IE abiertas, no las devolverá. Sólo devolverá una de ellas abierta. Para devolver la URL de todas las ventanas abiertas de clase IEFrame, tendrás que usar la función EnumWindows e implementarla.

Para IE 7 faltará más implementación, ya que aparte de trabajar con múltiples ventanas, trabaja con pestañas, y como no tengo el IE 7 instalado, no te puedo ayudar para esa versión .

Saludos y buena suerte. Cualquier otra consulta acerca del código no dudes en hacerla aquí mismo.

Última edición por Black_Ocean fecha: 17-06-2008 a las 04:40:20.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿Cómo saber la URL en el navegador? Alucho2007 Internet 4 18-06-2008 21:11:16
como determinar el navegador por defecto Velia API de Windows 4 13-11-2005 16:54:10
Como obtener el navegador predeterminado El_Chava Internet 4 19-09-2005 19:14:26
Como abrir un documento html en el navegador? VivaLeon Varios 1 19-05-2005 18:12:32
Como crear un navegador web simple CeNtInElA Internet 4 25-02-2005 14:31:06


La franja horaria es GMT +2. Ahora son las 14:19:47.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi