Título: [RESUELTO]como simular pulsacion de teclas Publicado por: AlxSpy en 5 Marzo 2011, 21:07 pm quiero hacer un codigo que envie pulsaciones a "x" ventana que no este activa con sendmessage ,pasandola un handle, como simular los eventos keydown-keyup-keypress del textbox, tengo este code:
Código: 'emisor de mensajes Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Long) As Long Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Const WM_KEYDOWN As Integer = &H100 Const WM_KEYUP As Integer = &H101 Const VK_SPACE = &H20 Private Sub cmdCommand1_Click() Dim hwnd As Long hwnd = Val(txtHWND) 'handle del textbox receptor SendMessage hwnd, WM_KEYDOWN, 65, 0& 'Sleep 1000 SendMessage hwnd, WM_KEYUP, 65, 0& End Sub para hacer las pruebas hice otro code ya compilado donde tiene un textbox que recibira los mensajes de pulsacion y los mostrarŕ en otro textbox: Código: 'receptor de mensajes Private Sub Form_Load() txtHwnd.Text = txt.hWnd 'muestra su handle End Sub Private Sub txt_KeyDown(KeyCode As Integer, Shift As Integer) txtRes.Text = txtRes.Text & "[KeyDown] Keycode: " & KeyCode & ", Shift: " & Shift & vbCrLf End Sub Private Sub txt_KeyPress(KeyAscii As Integer) txtRes.Text = txtRes.Text & "[KeyPress] KeyAscii: " & KeyAscii & vbCrLf End Sub Private Sub txt_KeyUp(KeyCode As Integer, Shift As Integer) txtRes.Text = txtRes.Text & "[KeyUp] KeyCode: " & KeyCode & ", Shift: " & Shift & vbCrLf End Sub he corrido ambos pero no se reciben los mensajes, ademas probe agregandole una pausa con sleep pero no da resultado, que podria estar mal en este codigo? Título: Re: como simular pulsacion de teclas Publicado por: raul338 en 5 Marzo 2011, 22:10 pm Código: Dim hwnd As Long hwnd = Val(txtHWND) 'handle del textbox receptor seguro que es un handle valido? O querias hacer txtHWND.handle (no creo) Asegurate de que hwnd exista, puedes ver el handle de la ventana con Spy++ o elemental code hizo un "form flotante" que te dice el titulo, handle y clase de la ventana que esta debajo del puntero del mouse Título: Re: como simular pulsacion de teclas Publicado por: AlxSpy en 5 Marzo 2011, 23:27 pm el hwnd que le paso al emisor es el numerito que se obtiene en form_load en el receptor (txt.hwnd). ah se me olvido, esto es en visual 6.0.
Título: Re: como simular pulsacion de teclas Publicado por: seba123neo en 6 Marzo 2011, 21:19 pm Hola, proba con PostMessage..
Código
esto envia un enter al Handle que pongas en el textbox. saludos. Título: Re: como simular pulsacion de teclas Publicado por: AlxSpy en 7 Marzo 2011, 00:28 am seba123neo eso funciono gracias.
|