FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
¿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. |
#2
|
||||
|
||||
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.
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. |
|
|
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 |
|