Page 1 of 1

Enviar teclas a una ventana

Posted: Sun Apr 23, 2006 10:54 pm
by DanielPuente
Compañeros:

Desde mi aplicacion fw ejecuto un programa externo con winexec, lugo capturo la ventana con twcapture(), pero no consigo enviarle a la ventana las teclas CTRL+C para salir de ese programa, he intentado:

oWndCapt:keydown( 67,VK_CONTROL )
oWndCapt:keydown( CHR(67),VK_CONTROL )
oWndCapt:keydown(CHR(67) , CHR(17) )

y lo mismo con :POSTMSG(), :__keyboard() y :KeyToggle() sin resultados.

Alguien me puede dar una mano.

Saludos,

Posted: Tue Apr 25, 2006 8:29 am
by Antonio Linares
Daniel,

Prueba a usar SendMessage( hWnd, WM_KEY..., nKey, ... )

Posted: Tue Apr 25, 2006 4:23 pm
by DanielPuente
Antonio:

Ante todo muchisimas gracias por responder.

Parece que no funciono. He mirado con detenimiento la funcion SendMessage( <hWnd>, <nMsg>, <nWParam>, <nLParam>), y el metodo de window.prg:

::SendMsg( nMsg, nWParam, nLParam )

Esta bien esta sintaxis para enviar CTRL + C ?:

oWndCapt:SendMsg( WM_KEYDOWN, VK_CONTROL , 67 )

Por otro lado la ventana a enviar el ctrl c es una ventana dos, un programa externo ejecutado con:

winexec( (wPathB)+"\WSPOOLER.EXE -p"+TRANS(PARAM->IFCOM,'9')+" -s C:\HSPOOL",1), sera eso lo que impide que llegue ?.

Saludos,

Posted: Wed Apr 26, 2006 10:16 am
by Antonio Linares
Daniel,

> Por otro lado la ventana a enviar el ctrl c es una ventana dos

Ese es el problema. Las ventanas de consola no admiten comunicación con mensajes. Solo se puede acceder al clipboard y nada más.

Posted: Wed Apr 26, 2006 7:25 pm
by DanielPuente
Antonio:

Gracias por tu respuesta, lastima, me rompe todo el esquema, pero algo vamos a inventar.

Gracias de nuevo.

Saludos,