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 

interaccion con formulario web

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: interaccion con formulario web Responder citando

Hola, estoy usando un componente TcppWebBrowser en el cual voy a una página con un input box y un submit.

La idea es poder encontrar los handles de ambos para poder escribir y presionar el botón en forma autoática.

Otra posible solución sería simular un click del mouse dentro del control y luego enviarle la secuencia de teclas.

¿Alguna ayuda?
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mensaje    Asunto: Responder citando

Me contesto a mi mismo.

Seguí la solución del click en el formulario y el envío de teclas. Como debía enviar números en forma aleatoria, hice una función que me permite alternar sus códigos, dado que hay problemas si se repite dos o más veces el mismo número.

El truco consiste en detectar en el envío si el número es igual al anterior, en ese caso se cambia el parámetro b.

Código:

//---------------------------------------------------------------------------
void EscribirNro(int n,bool b)
{
    //static int nLast[2];
    int i;
    BYTE num;

    if (n < 0 || n > 9)
        n = 0;
    switch (n){
    case 0:
            if (b)  num = 0x30;
            else    num = VK_NUMPAD0;
            break;
    case 1:
            if (b)  num = 0x31;
            else    num = VK_NUMPAD1;
            break;
    case 2:
            if (b)  num = 0x32;
            else    num = VK_NUMPAD2;
            break;
    case 3:
            if (b)  num = 0x33;
            else    num = VK_NUMPAD3;
            break;
    case 4:
            if (b)  num = 0x34;
            else    num = VK_NUMPAD4;
            break;
    case 5:
            if (b)  num = 0x35;
            else    num = VK_NUMPAD5;
            break;
    case 6:
            if (b)  num = 0x36;
            else    num = VK_NUMPAD6;
            break;
    case 7:
            if (b)  num = 0x37;
            else    num = VK_NUMPAD7;
            break;
    case 8:
            if (b)  num = 0x38;
            else    num = VK_NUMPAD8;
            break;
    case 9:
            if (b)  num = 0x39;
            else    num = VK_NUMPAD9;
            break;
    default:  //esto no debería ocurrir
            if (b)  num = 0x30;
            else    num = VK_NUMPAD0;
            break;
    }

    keybd_event(num,0,0,0);


}
//---------------------------------------------------------------------------

[/code]
_________________
Adrián

http://adrian.org.ar
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
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.