triumvirato:
Desde luego que la solución que encontraste te va a funcionar, perooooo
(nunca falta un pero), las teclas que estas emulando estan dirigidas al diálogo o ventana activo.
Lo recomendable es que indiques el diálogo o ventana a la que deseas enviar las teclas para evitarte dolores de cabeza, te muestro un ejemplo:
- Code: Select all Expand view
Teclado(oDlg,13,1)
En este pedazo de código estoy llamando a la función Teclado() enviando el diálogo al que quiero dirigir las teclas, el código de la tecla a "oprimir" en este caso es RETURN y el número de repeticiones que deseo.
Y esta es la función Teclado()
- Code: Select all Expand view
FUNCTION Teclado(oDlg,nKey,nVeces)
LOCAL nVez
DEFAULT nVeces := 1
oDlg:SETFOCUS()
FOR nVez := 1 TO nVeces
oDlg:POSTMSG(WM_KEYDOWN,nKey,0)
NEXT
RETURN (NIL)
Mira que primero hago activo el Diálogo al que envío la tecla, despues con un FOR - NEXT emulo el teclado nVeces y con POSTMSG se envia la tecla.
Saludos