elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  .NET (C#, VB.NET, ASP)
| | | |-+  Programación Visual Basic (Moderadores: LeandroA, seba123neo)
| | | | |-+  [RESUELTO]como simular pulsacion de teclas
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [RESUELTO]como simular pulsacion de teclas  (Leído 7,503 veces)
AlxSpy

Desconectado Desconectado

Mensajes: 137


Ver Perfil
[RESUELTO]como simular pulsacion de teclas
« 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?


« Última modificación: 7 Marzo 2011, 00:29 am por alxspy » En línea

raul338


Desconectado Desconectado

Mensajes: 2.633


La sonrisa es la mejor forma de afrontar las cosas


Ver Perfil WWW
Re: como simular pulsacion de teclas
« Respuesta #1 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


En línea

AlxSpy

Desconectado Desconectado

Mensajes: 137


Ver Perfil
Re: como simular pulsacion de teclas
« Respuesta #2 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.
En línea

seba123neo
Moderador
***
Desconectado Desconectado

Mensajes: 3.621



Ver Perfil WWW
Re: como simular pulsacion de teclas
« Respuesta #3 en: 6 Marzo 2011, 21:19 pm »

Hola, proba con PostMessage..

Código
  1. Option Explicit
  2.  
  3. Private Declare Function PostMessage Lib "user32" Alias "PostMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
  4.  
  5. Private Const VK_RETURN = &HD
  6. Private Const WM_KEYDOWN = &H100
  7. Private Const WM_KEYUP = &H101
  8. Private Const VK_SPACE = &H20
  9.  
  10. Private Sub Command1_Click()
  11.    Call PostMessage(Text1.Text, WM_KEYDOWN, VK_RETURN, 0&)
  12.    Call PostMessage(Text1.Text, WM_KEYUP, VK_RETURN, 0&)
  13. End Sub

esto envia un enter al Handle que pongas en el textbox.

saludos.
En línea

AlxSpy

Desconectado Desconectado

Mensajes: 137


Ver Perfil
Re: como simular pulsacion de teclas
« Respuesta #4 en: 7 Marzo 2011, 00:28 am »

seba123neo eso funciono gracias.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Como Simular la Pulsacion de las teclas « 1 2 »
Programación Visual Basic
HALC12 11 6,592 Último mensaje 2 Diciembre 2007, 17:39 pm
por HALC12
Aplicación que detecte una pulsación de teclas en cualquier momento
.NET (C#, VB.NET, ASP)
lord_Sirikon 4 3,951 Último mensaje 13 Enero 2011, 17:18 pm
por raul338
Simular pulsacion de tecla en otro programa
Programación Visual Basic
neeeko 4 4,342 Último mensaje 21 Mayo 2011, 05:07 am
por neeeko
Como enviar pulsacion a una aplicacion con DirectX VB 6.0
Programación Visual Basic
igustin 2 2,455 Último mensaje 21 Febrero 2013, 05:10 am
por igustin
Pulsación de teclas con python
Scripting
minced 4 6,576 Último mensaje 18 Mayo 2015, 09:25 am
por Eleкtro
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines