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:
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
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