Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: EstefaniaQQ en 6 Mayo 2014, 00:01 am



Título: Evitar focus y sendKeys en un bot
Publicado por: EstefaniaQQ en 6 Mayo 2014, 00:01 am
Hola,

Estoy actualizando un bot que tiene por función rellenar unos formularios y brindarme unos datos. Este funcionó muy bien hasta que la web desde donde obtenía los datos fue rediseñada.
Ahora me encuentro con el problema que no puedo rellenar los textbox si primero no realizo focus.

Ejemplo para que se entienda qué es lo que quiero decir:

Código:
Dim a as htmlElement = minavegador.document.getElementById(“idTextBox”)
a.focus()
a.innerText=”datos”

Por otra parte, no puedo enviar el formulario utilizando invokeMember(“click”) sino que debo realizar focus sobre el botón y luego hacer un Sendkeys.send(“{enter}”)

El bot funciona bien pero el problema que tengo es que al tener que hacer focus no puedo utilizar mi computadora con otros programas.

Alguien puede darme alguna idea de cómo evitar el focus y el sendkey. Estoy muy perdida con el tema y no sé ni qué buscar.

PD: por si necesitan el dato el bot modificó el registro de Windows para que  el WebBrowser que se utilice sea el Explorer versión 9. Lo aclaro porque con el IE7 (el predeterminado de .NET) hay scripts que no funcionan.


Título: Re: Evitar focus y sendKeys en un bot
Publicado por: Miseryk en 6 Mayo 2014, 01:50 am
Ésto parece más programación web, pero si lo hacés en VB te conviene obtener el handle de la ventana y luego obtener los otros controles con handleex.

Las funciones son FindWindow y FindWindowEx, luego te podés manejar con SendMessage.


Título: Re: Evitar focus y sendKeys en un bot
Publicado por: EstefaniaQQ en 9 Mayo 2014, 04:26 am
gracias por la respuesta estoy investigando en el tema. Por el momento, puedo enviar texto a otras aplicaciones como por ejemplo, WordPad aunque no lo consigo con rellenar textbox en WebBrowsers.


Título: Re: Evitar focus y sendKeys en un bot
Publicado por: Miseryk en 16 Mayo 2014, 22:51 pm
Andá a lo seguro, usá el WinHack (hecho en VB6) que te permite saber el hwnd, class, nombre de ventana y muchas cosas más y lo hardcodeás (poner valores crudos) todo y luego cuando funcione lo hacés genérico.