Foro de elhacker.net

Programación => Programación General => Mensaje iniciado por: sancakoky en 27 Junio 2013, 19:21 pm



Título: Como programar ejecutable que lea url del navegador por defecto
Publicado por: sancakoky en 27 Junio 2013, 19:21 pm
Hola buenas, estoy mirando la manera de hacer un programa que me lea al momento las url que el navegador por defecto este visitando.
¿con que lenguaje de programación podría hacer un ejecutable que hiciera esto?
He probado con vb.net pero el control web browser y locationurl es para cuando tu creas en vb.net tu propio navegador.
Repito, en vb.net no se puede a no ser que se este navegando con el navegador creado en el form, asi pues ¿con que otro lenguaje podría hacerlo?
Digo de leer la url y no digo de leer el titulo de la pagina activa.


Título: Re: Como programar ejecutable que lea url del navegador por defecto
Publicado por: engel lex en 28 Junio 2013, 08:17 am
no es que con vb.net no se pueda, es que lo estás intentando mal... tienes que buscar la ventana del navegador (depende del navegador) y luego el control donde está el URL, aqui tienes más o menos un codigo en c++ para crome que funciona (solo con la ventana activa, tu resuelve el el resto de las ventanas

para vb.net es similar (realmente no se mucho así que asumiré que es iogual que vb6)solo que tienes que declarar cada API (en internet consigues como) y las constantes... suerte con eso...


Código
  1. #include<iostream>
  2. #include <windows.h>
  3. using namespace std;
  4. int main(){
  5.    HWND hwnWindow = FindWindow("Chrome_WidgetWin_1",NULL);
  6.    HWND hwnWindowEx = FindWindowEx(hwnWindow,0,"Chrome_OmniboxView",NULL);
  7.    long slength = SendMessage(hwnWindowex, WM_GETTEXTLENGTH, 0, 0) + 1;
  8.    char nombre[slength+1];
  9.    SendMessage(hwnWindowex, WM_GETTEXT, slength, (LPARAM)nombre);
  10.    cout << nombre << endl;
  11. system("pause");
  12. return 0;
  13. }

el asunto es que paraconseguir esas clases puedes usar un programa viejito llamado spy++

busca en internet sobre
FindWindow
FindWindowEx
SendMessage

para entender mejor que sucedió