Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

Obtener o Capturar la url puesta en el internet explorer
Ir a página 1, 2  Siguiente
 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: Obtener o Capturar la url puesta en el internet explorer Responder citando

Hola Foro, mi duda es la siguiente, estoy haciendo un sistema de control y estadisticas para registrar los sitios mas visitados en cierto equipo, encontre la forma de capturar el titulo de la ventana, pero necesito capturar la url escrita por el usuario en la barra de direcciones....
ALGUIEN ME PUEDE AYUDAR??? Question
Volver arriba
Mensaje    Asunto: Responder citando

Hola, estuve revisando tu inquietud y encontré el objeto TCppInternetExplorer. No sé si lo estas usando, pero si no lo encuentras en la sección de Servers. No soy experto en este componente pero hice una form con: TEdit, TButton y TCppInternetExplorer; en el evento click del botón asigné al texto del TEdit el resultado de la función Get_LocationURL() y funcionó.
Espero que te sirva.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

No amigo, no es eso lo que busco, quiero obtener la url escrita por el usuario en el Internet Explorer, logre con la herramienta Winsight32 ver la direccion escrita en el, siguiendo el Focus, pero he tratado todo lo que se, capturar el proceso, determinar cuales pertenecen al IE, incluso puedo obtener el Caption de la ventana en cuestion, pero no he logrados capturar la url.... encontre un programa por ahi hecho en delphi que lo logra.... POR LO TANTO DEBE PODERSE EN BUILDER...

AYUDENME PORFA... DE VERDAD NECESITO ESTO... (_LEO, RPORCAR)
Sad

GRACIAS POR TU TIEMPO!
Volver arriba
Mensaje    Asunto: Responder citando

Hola:
Cita:
....quiero obtener la url escrita por el usuario en el Internet Explorer, logre con la herramienta Winsight32 ver la direccion escrita en el, siguiendo el Focus, pero he tratado todo lo que se, capturar el proceso, determinar cuales pertenecen al IE, incluso puedo obtener el Caption de la ventana en cuestion, pero no he logrados capturar la url....

Con el siguiente código consigues lo que hace el Winsight32, te mostrara la barra de titulo de todos los IExplorer abiertos y lo que haya escrito en el cuadro de edición donde se introduce la dirección URL:

- Creamos un proyecto nuevo vacio y ponemos un TMemo (Memo1) y un TButton (Button1), y añadimos la cabecera #include<vector>

- Implementamos la función "BuscarClaseVentana" que nos servirá para localizar los handles de ventana necesarios:
Código:
//---------------------------------------------------------------------------
// DESCRIPCION:
//   Permite buscar uno o todos los 'handles' de ventanas de una clase dada.
//
// ENTRADA:
//   w  ...................  Handle de ventana padre donde buscar
//   sClaseVentana  .......  Nombre de la clase de ventana a buscar
//
// SALIDA:
//   handles (opcional)  ..  Si se especifica no para al encontrar la primera
//                           ventana que coincida con el nombre dado, sino
//                           que rellena este vector con todas las que tengan
//                           el mismo nombre de clase.
//
//  Devuelve el handle de ventana encontrado en caso de que el puntero al
//    vector handles sea nulo, o cero si no encontro ninguna ventana de la
//    clase buscada.
//---------------------------------------------------------------------------
HWND BuscarClaseVentana(HWND w, String sClaseVentana,
    std::vector<HWND>* handles = 0)
{
    w = GetWindow(w, GW_CHILD);
    if (w)
    {
        w = GetWindow(w, GW_HWNDFIRST);
        while (w)
        {
            char szClass[256];
            GetClassName(w, szClass, sizeof(szClass));

            if (!stricmp(szClass, sClaseVentana.c_str()))
            {
                if (handles)
                    handles->push_back(w);
                else
                    break;
            }

            if (!handles)
            {
                HWND tempW = BuscarClaseVentana(w, sClaseVentana, handles);
                if (tempW)
                    return tempW;
            }

            w = GetWindow(w, GW_HWNDNEXT);
        }
    }
    return w;
}

- Y finalmente añadimos el siguiente código al OnClick del botón:
Código:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    std::vector<HWND> hVentanas;

    // Busca todos los IExplorer
    BuscarClaseVentana(GetDesktopWindow(), "IEFrame", &hVentanas );

    //
    // Recorremos la lista de IExplorer encontrados y
    //   mostramos la información que necesitemos de cada uno
    //

    Memo1->Clear();
    Memo1->Lines->Add(String().sprintf("Encontrados %d IExplorer",
            hVentanas.size()) );

    for (unsigned int i=0; i<hVentanas.size(); ++i)
    {
        HWND w = hVentanas[i];

        // Obtenemos el texto de la barra de titulo del IExplorer
        char buffer[512];
        SendMessage(w, WM_GETTEXT, sizeof(buffer),
                reinterpret_cast<LPARAM>(buffer));
        String sCaptionBar(buffer);

        // Buscamos y extraemos la información del Edit
        //   donde tecleamos la URL en el IExplorer
        String sEditBoxUrl;
        w = BuscarClaseVentana(w, "ComboBoxEx32");
        if (w)
        {
            SendMessage(w, WM_GETTEXT, sizeof(buffer),
                    reinterpret_cast<LPARAM>(buffer));
            sEditBoxUrl = buffer;
        }

        Memo1->Lines->Add("");
        Memo1->Lines->Add(i + 1);
        Memo1->Lines->Add(String("TITULO: ") + sCaptionBar);
        Memo1->Lines->Add(String("URL: ") + sEditBoxUrl);
    }
}

Puedes bajar esto mismo si te es más comodo desde:

    http://www.telefonica.net/web/ljfg/temp/IExplorerURL.zip

El proyecto que incluye es para el BCB4, por lo que podrás cargarlo directamente en el IDE de esa y superiores.

Esta probado en el IExplorer 3 con Windows95, en el IExplorer 4 con Windows98, en el IExplorer 5.5 con WindowsME y en el IExplorer 6 con WindowsXP.

---

Con respecto a tu proyecto (ya que no estamos hablando de pequeñas rutinas que es lo más que puedo hacer en el foro ya que vivo de esto y no me puedo entretener demasiado porque sino se llega fin de mes y no cobro) es sugerirte opciones que pueden ayudarte:


- Una manera de hacerlo, una de las más sencillas que se me ocurren, es aprovechar el histórico/cache del IExplorer. Ahí se almacenan cientos, miles de direcciones accedidas. Podemos entre otras cosas, saber cuantas veces se accedió a cada sitio y con esto crear nuestra lista de sitios con más visitas desde ese PC. Para esto mírate las siguientes referencias del API, donde tienes incluso algún ejemplo:

    Windows Internet Caching
    Interface IUrlHistory
    (Con IUrlHistory tienes mas control, pero con lo de arriba es suficiente, ademas la pega de esta es que necesitas IExplorer5.5 mientras que la otra vale para cualquiera)


- Otra opción seria usar Hooks/Ganchos, para interceptar todo lo que se teclea en el cuadro de edición donde tecleas las direcciones en el IExplorer. No me parece una buena opción, pero es relativamente sencilla.


- Otra opción, para mi la mejor, aunque no tan sencilla a menos que suelas trabajar con objetos COM, seria crear una extensión para el IExplorer. Con esta es con la que mayor control tendremos.

Espero que te sirva de algo.

Saludos:
 _Leo

[Editado el 06/Nov/2006 para corregir los enlaces]


Ultima edición por _Leo el Lun 06 Nov, 2006 7:50 pm, editado 2 veces
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: GRACIAS!!! Responder citando

Hola _Leo, muchisimas gracias por tu tiempo y ayuda, acabo de probar lo que me enviaste y funciona de las mil maravillas, IDOLO! . Me cuesta creer lo simple que era... Embarassed

De verdad, me sacaste un peso de encima, revisaba todos los dias el foro, haber si algo salia, hasta hoy.... GRACIAS!

Gracias por los links, por lo que he visto hasta ahora son muy interesantes, imaginate, hace 4 horas me iba a acostar y todavia los estoy leyendo...

una vez Mas GRACIAS.- Exclamation Exclamation Exclamation

Victor.-
Volver arriba
Mensaje    Asunto: Responder citando

Hola amigos, una pregunta q me esta volviendo loco, como puedo capturar el enter pulsado despues de introducir una url en internet explorer. Estoy creando un filtro para internet, he conseguido capturar la url, pero la captura debe de hacerse cuando el usuario introduzca la url y pulse enter y eso es lo q no me sale el capturar el enter.


MUXAS GRACIAS
Volver arriba
Mensaje    Asunto: prueba esto Responder citando

Hola tony..


yo hace unas semanas buscaba como capturar teclas en Windows y _leo me ayudo en esto hay un mensaje .. que contine un link para descargar un ejemplo que es realizo para esta opcion..
te aclaro algo esta hecho para capturar otra tecla pero de igual manera puedes cambiar el codigo de tecla y colocar la de enter..

esta hecho en builder 6

http://www.telefonica.net/web/ljfg/temp/keyhook_ll_ejemplo_bcb4.zip

y este en builder 4

http://www.telefonica.net/web/ljfg/temp/keyhook_ll_ejemplo.zip

[Editado el 06/Nov/2006 para corregir los enlaces]
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Yahoo Messenger MSN Messenger
Mensaje    Asunto: muxas gracias Responder citando

MUCHAS GRACIAS, FUNCIONA BIEN, AHORA ME ESTOY VOLVIENDO LOCO PARA ACOPLAR UN FORMULARIO EN EL EJEMPLO ESTE VAMOS Q ME ESTA COSTANDO TRABAJAR CON EL PROGRAMITA.
Volver arriba
Mensaje    Asunto: Responder citando

Hola a todos, si ponen la direccion de internet en cualquier ventana de windows ven la pagina de internet pero no lo capta pq no abre internet explorer, como puedo controlar esa direccion.



Gracias
Volver arriba
Mensaje    Asunto: Responder citando

Lo siento, no he entendido nada de lo que quieres decir.

Tu pregunta esta relacionada con lo que se esta hablando en este hilo o estas planteando otra pregunta que no tiene nada que ver ?

Puedes explicarte con mayor detalle ? que es lo que estas haciendo y lo que necesitas conseguir...
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

mmm. creo que los links de arriba no funcionan podrian poner el archivo nuevamente...

de antemano gracias...
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

JHAN escribió:
creo que los links de arriba no funcionan podrian poner el archivo nuevamente...

Ya he corregido los enlaces.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Internet Explorer Responder citando

Muchas gracias Leo, estaba por pedirte lo mismo, pero te me adelantaste Razz hasta la proxima...

Y como lograste modificar el mensaje??? nosotros los mortales tambien podemos hacer eso??? Very Happy Very Happy
_________________
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Visitar sitio web del autor Yahoo Messenger MSN Messenger
Mensaje    Asunto: Internet Explorer Responder citando

Embarassed Embarassed uyuyuyuy, si que estoy distraido no me habia fijado en las opciones que aparecen en mis mensajes con las opciones de Editarlos y borrarlos, jejeje, bueno perdon Rolling Eyes Rolling Eyes , hasta la proxima
_________________
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email Visitar sitio web del autor Yahoo Messenger MSN Messenger
Mensaje    Asunto: Responder citando

Este código no funciona con el builder 2009.

Me da un error al compilar que dice:

'vector' is not member of 'std'

Sabéis como solucionarlo?

Un abrazo.

Carlos
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.