La Web del Programador: Comunidad de Programadores
 
    Pregunta:  65490 - ENVIAR "ENTER" A UNA VENTANA DIÁLOGO DE OTRA APLICACIÓN
Autor:  Carlos Di Stefano
Saludos a todos.
Llevo gran parte del día intentando esto y no he dado con la solución.

Tengo una aplicación desarrollada en Visual Basic 6 y desde esta aplicación se abre un cuadro de diálogo de otra aplicación de un tercero que tiene un cuadro de texto y un botón tipo Aceptar establecido como Default.

Bien, lo que quiero hacer es, que desde mi aplicación hecha en Visual Basic 6, cuando se abra este cuadro de diálogo, enviarle cierta información de forma automática al cuadro de texto y de inmediato enviar la tecla Enter.

He estado haciendo intentos al saber la clase de la ventana de diálogo con el FindWindows. Hasta allí estoy bien, pues conozco la clase de la ventana de diálogo y esta función reconoce que está abierta dicha ventana..... lo que no he logrado aún es enviarle al cuadro de texto un string y que luego se envíe el Enter de forma automática.

Y aunado a todo esto, por ser una ventana de diálogo, aparentemente el código se "detiene" hasta que no se cierre.

Si alguien tiene la solución a algún experto sobre el tema me puede ayudar...

Saludos nuevamente.

  Respuesta:  Gonzalo Quintana
Hola Carlos:

Intenta con el siguiente código a ver si te sirve:

'Establecemos la siguiente Sub
Sub Sendkey(text$, Optional wait As Boolean = False)

'wrapper for Sendkeys which does not crash in the IDE under Windows Vista
Set WshShell = CreateObject("WScript.Shell")
WshShell.SendKeys text, wait
Set WshShell = Nothing

End Sub

'y esto lo agregas a tu codigo
Sendkey "~"

Espero te surva...
Saludos,

Gonzalo