| 
	
		|  Autor | Tema: [RESUELTO]como simular pulsacion de teclas  (Leído 7,959 veces) |  
	| 
			| 
					
						| AlxSpy 
								
								 Desconectado 
								Mensajes: 137
								
								
								
								
								
								   | 
 
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: '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: 'receptor de mensajesPrivate 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 
								Mensajes: 2.633
								
								 
								La sonrisa es la mejor forma de afrontar las cosas
								
								
								
								
								
								     | 
 
    Dim hwnd As Longhwnd = 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 
								Mensajes: 137
								
								
								
								
								
								   | 
 
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 | 
 
Hola, proba con PostMessage .. Option Explicit 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 Private Const VK_RETURN = &HDPrivate Const WM_KEYDOWN = &H100Private Const WM_KEYUP = &H101Private Const VK_SPACE = &H20 Private Sub Command1_Click()    Call PostMessage(Text1.Text, WM_KEYDOWN, VK_RETURN, 0&)    Call PostMessage(Text1.Text, WM_KEYUP, VK_RETURN, 0&)End Sub
 esto envia un enter al Handle que pongas en el textbox. saludos. |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  | 
			| 
					
						| AlxSpy 
								
								 Desconectado 
								Mensajes: 137
								
								
								
								
								
								   | 
 
seba123neo eso funciono gracias. |  
						| 
								|  |  
								|  |  En línea | 
 
 |  |  |  |  |  
 
	
 
 
				
					
						| Mensajes similares |  
						|  | Asunto | Iniciado por | Respuestas | Vistas | Último mensaje |  
						|   |   | Como Simular la Pulsacion de las teclas
							« 1 2 » Programación Visual Basic
 | HALC12 | 11 | 7,108 |  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 | 4,328 |  13 Enero 2011, 17:18 pm por raul338
 |  
						|   |   | Simular pulsacion de tecla en otro programa Programación Visual Basic
 | neeeko | 4 | 4,627 |  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,765 |  21 Febrero 2013, 05:10 am por igustin
 |  
						|   |   | Pulsación de teclas con python Scripting
 | minced | 4 | 7,097 |  18 Mayo 2015, 09:25 am por Eleкtro
 |    |