Ver Mensaje Individual
  #1 (permalink)  
Antiguo 28/04/2010, 09:52
coadlr
 
Fecha de Ingreso: abril-2010
Mensajes: 2
Antigüedad: 14 años
Puntos: 0
Como enviar pulsaciones de teclas con Sendmessage (VB)

Hola que tal.

Actualmente utilizo sendkey para realizar ciertas operaciones con una aplicacion de Java, pero la gran limitante de que solo se puede hacer con la ventana activa me ha traido muchos problemas; encontre que esto se puede hacer con Sendmessage, no tengo mucho conocimiento de programacion, pero por mas que he leido e intentado, no he podido realizar esto....

Actualmente tengo...

AppActivate "Titulo de la aplicacion"

SendKeys "%(VRI)", True 'Enviar combinacion ALT + R + I
SendKeys "{TAB 3}", True 'TAB 3 veces
SendKeys "{DOWN 4}", True 'DOWN 4 veces
SendKeys "Print SR-24", True 'Enviar texto Print SR-24
SendKeys "{ENTER}", True ' Enter

si por alguna razon se desactiva la pantalla pues se siguen enviando las pulsaciones a la nueva ventana activa, y eso es lo quiero evitar.


con Sendmessage llevo:

Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long

Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long

Const WM_SETTEXT = &HC
Const WM_KEYDOWN = &H100

Sub AbrirReporte()

Dim hwnd As Long
hwnd = FindWindow("sunawtframe", vbNullString)

SendMessage(hwnd ... y hasta aqui

he visto algunos ejemplos con WM_Keydown, WM_Settext pero no he logrado hacer nada....

Asi que necesito hacer lo mismo que hace sendkeys con sendmessage... Si alguien puediera orientarme, se lo agradeceria.

Última edición por coadlr; 28/04/2010 a las 09:57