![]() |
¿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. |
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. |
| La franja horaria es GMT +2. Ahora son las 19:56:28. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi