Se pierde el focus al minimizar

Iniciado por .:Weeds:., 18 Junio 2010, 18:18 PM

0 Miembros y 1 Visitante están viendo este tema.

.:Weeds:.

Tengo una aplicacion que trabaja con el control webbrowser y hace lo siguiente
Código (vbnet) [Seleccionar]
WebBrowser1.Focus() ' Centra el foco en el webbrowser
        WebBrowser1.Document.GetElementById("fmd-loginname").InnerText = TextBox1.Text ' Añade en el cuadro de texto la informacion del text1
        WebBrowser1.Document.GetElementById("fmd-loginname").Focus() ' Centra el foco en el cuadro de texto de la web
        If WebBrowser1.Focused Then
            SendKeys.Send("{ENTER}")
        End If

El code funciona perfecto pero claro esta accion la repito muchas veces de eso se trata el programa, pero al minimizar o pasar a otra ventana que no sea de mi aplicacion, mi programa deja de funcionar.... Agradezco cualquier info
54lu2!


[D4N93R]

Claro, no puedes tener el foco en un control de una ventana no activa, es normal. Qué tipo de aplicación estás haciendo?

Porque si no necesitas intervención del usuario, no hace falta hacerlo con el contorl WebBrowser.

Saludos

43H4FH44H45H4CH49H56H45H

Cita de: sinu en 18 Junio 2010, 18:18 PM
Tengo una aplicacion que trabaja con el control webbrowser y hace lo siguiente
Código (vbnet) [Seleccionar]
WebBrowser1.Focus() ' Centra el foco en el webbrowser
        WebBrowser1.Document.GetElementById("fmd-loginname").InnerText = TextBox1.Text ' Añade en el cuadro de texto la informacion del text1
        WebBrowser1.Document.GetElementById("fmd-loginname").Focus() ' Centra el foco en el cuadro de texto de la web
        If WebBrowser1.Focused Then
            SendKeys.Send("{ENTER}")
        End If

El code funciona perfecto pero claro esta accion la repito muchas veces de eso se trata el programa, pero al minimizar o pasar a otra ventana que no sea de mi aplicacion, mi programa deja de funcionar.... Agradezco cualquier info
54lu2!

Viendo por encima nada mas, creo que buscas hacer esto:

http://stackoverflow.com/questions/210342/vb-net-click-submit-button-on-webbrowser-page

-R IP
:0100
-A 100 
2826:0100 MOV AH,09
2826:0102 MOV DX,109
2826:0105 INT 21
2826:0105 MOV AH,08
2826:0105 INT 21
2826:0107 INT 20
2826:0109 DB 'MI NICK ES CODELIVE.$' 
2826:0127 
-R BX
:0000
-R CX
:20
-N CODELIVE.COM
-W

.:Weeds:.

#3
Cita de: D4N93R en 18 Junio 2010, 18:42 PM
Claro, no puedes tener el foco en un control de una ventana no activa, es normal. Qué tipo de aplicación estás haciendo?

Porque si no necesitas intervención del usuario, no hace falta hacerlo con el contorl WebBrowser.

Saludos
Y como accedo a una web sin el control webbrowser :huh: ? La intervencion del usuario solo es necesaria para rellenar el textbox1.text nada mas
Cita de: 43H4FH44H45H4CH49H56H45H en 18 Junio 2010, 23:03 PM
Cita de: sinu en 18 Junio 2010, 18:18 PM
Tengo una aplicacion que trabaja con el control webbrowser y hace lo siguiente
Código (vbnet) [Seleccionar]
WebBrowser1.Focus() ' Centra el foco en el webbrowser
        WebBrowser1.Document.GetElementById("fmd-loginname").InnerText = TextBox1.Text ' Añade en el cuadro de texto la informacion del text1
        WebBrowser1.Document.GetElementById("fmd-loginname").Focus() ' Centra el foco en el cuadro de texto de la web
        If WebBrowser1.Focused Then
            SendKeys.Send("{ENTER}")
        End If

El code funciona perfecto pero claro esta accion la repito muchas veces de eso se trata el programa, pero al minimizar o pasar a otra ventana que no sea de mi aplicacion, mi programa deja de funcionar.... Agradezco cualquier info
54lu2!

Viendo por encima nada mas, creo que buscas hacer esto:

http://stackoverflow.com/questions/210342/vb-net-click-submit-button-on-webbrowser-page

Grax por el interes pero puse que el code funciona perfecto, lo que pasa es que se pierde el foco del webbrowser al minimizar


raul338

#4
Cita de: sinu en 19 Junio 2010, 06:51 AM
Y como accedo a una web sin el control webbrowser :huh: ? La intervencion del usuario solo es necesaria para rellenar el textbox1.text nada mas

Con WebRequest del namespace system.net

Y para enviar el formulario lo envias a travez del post (con un stream :P en el request)

Cita de: sinu en 19 Junio 2010, 06:51 AM
Grax por el interes pero puse que el code funciona perfecto, lo que pasa es que se pierde el foco del webbrowser al minimizar

Leiste el post? para que quieres que mantenga el foco  :huh: las formas que presenta ese hilo son para hacerlo independientemente del foco en la ventana :P

.:Weeds:.

Cita de: raul338 en 19 Junio 2010, 06:52 AM
Cita de: sinu en 19 Junio 2010, 06:51 AM
Y como accedo a una web sin el control webbrowser :huh: ? La intervencion del usuario solo es necesaria para rellenar el textbox1.text nada mas

Con WebRequest del namespace system.net

Y para enviar el formulario lo envias a travez del post (con un stream :P en el request)
El webrequest seria el siguiente
Código (vbnet) [Seleccionar]
Dim request as WebRequest = WebRequest.Create("http://www.jamster.es/fw/goto/order/tonos/sonido-reales/doc-21642351")
Entonces ahora como le digo que meta en el elemento fmd-loginname la informacion del textbox1.text?
Despues para activar el submit tampoco tengo ni idea  :-\ , teneis algun ejemplo a mano para que lo revise por que he estado buscando y lo unico decente de info que he encontrado es esta
http://msdn.microsoft.com/es-es/library/debx8sh9(VS.80).aspx


[D4N93R]

Primero ves el método del form, si es post o get.

Luego usas el código algo así:

Código (csharp) [Seleccionar]
Uri uri = new Uri("aki va la url");

//Estos son los datos que mandas desde los controles
string data = "key=value";
HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create(uri);
request.Method = WebRequestMethods.Http.Post; //aki use post
request.ContentLength = data.Length;

//Importante esta linea
// http://www.w3.org/TR/html401/interact/forms.html#h-17.13.4.1
request.ContentType = "application/x-www-form-urlencoded";

StreamWriter writer = new StreamWriter(request.GetRequestStream());
writer.Write(data);
writer.Close();

HttpWebResponse response = (HttpWebResponse)request.GetResponse();


Saludos..