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

 

 


Tema destacado: Estamos en la red social de Mastodon


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Enviar pulsaciones de teclas
0 Usuarios y 2 Visitantes están viendo este tema.
Páginas: [1] 2 Ir Abajo Respuesta Imprimir
Autor Tema: Enviar pulsaciones de teclas  (Leído 11,448 veces)
s_azazel

Desconectado Desconectado

Mensajes: 98



Ver Perfil
Enviar pulsaciones de teclas
« en: 3 Noviembre 2010, 15:31 pm »

Muy buenas estoy intentando hacer un bot para un juego enviando pulsaciones de teclado para que realice el movimiento y me encuentro con el siguiente problema....

Esto es lo que tengo;

#include <stdio.h>
#include <windows.h>
HWND Handle;
long x;
main ()
{



Handle=FindWindow(NULL,"Nombre de la ventana");
printf ("%d\n",Handle);
   for(x=1;x<=10;x=x+1)
   {
PostMessage (Handle, WM_KEYDOWN, 87,5000);
}
}

La cosa es que si tengo la ventana del chat dentro del juego abierta me escibe correctamente las "w" pero si la cierro no me avanza el personaje que es lo que deberia de hacer al pulsar la w

Sabeis a que sepuede deber????

Gracias!!!!


En línea

Khronos14


Desconectado Desconectado

Mensajes: 443


A lie is a lie


Ver Perfil WWW
Re: Enviar pulsaciones de teclas
« Respuesta #1 en: 3 Noviembre 2010, 15:35 pm »

Busca información sobre la API keybd_event, es mucho más sencillo usar esta función.

Saludos.


En línea

Nork

Desconectado Desconectado

Mensajes: 196



Ver Perfil
Re: Enviar pulsaciones de teclas
« Respuesta #2 en: 3 Noviembre 2010, 22:42 pm »

Has probado a usar la alternativa SendMessage? Hace un tiempo hice lo mismo que quieres hacer y creo recordar que use sendmessage..- la diferencia creo recordar era que una enviaba el evento a una cola y puede ser que al no tener el foco la ventana del juego tarde en realizar el evento. Prueba con sendmessage y si te sigue sin funcionar reviso lo que hice y te comento.

Saludos!
En línea

C' Est La Vie
madpitbull_99
Colaborador
***
Desconectado Desconectado

Mensajes: 1.911



Ver Perfil WWW
Re: Enviar pulsaciones de teclas
« Respuesta #3 en: 4 Noviembre 2010, 09:31 am »

Hace tiempo tuve que hacer algo similar, aun guardaba el enlace en los marcadores :
Cómo: Simular eventos del mouse y del teclado en el código (MSDN)

Puede que te sirva de algo.

Saludos!
En línea



«Si quieres la paz prepárate para la guerra» Flavius Vegetius

[Taller]Instalación/Configuración y Teoría de Servicios en Red
s_azazel

Desconectado Desconectado

Mensajes: 98



Ver Perfil
Re: Enviar pulsaciones de teclas
« Respuesta #4 en: 4 Noviembre 2010, 12:58 pm »

No se si tendra alguna proteccion o algo o sera por que para caminar habra que dejar pulsada la tecla el caso es que las pulsaciones las envia correctamente todas menos las de movimiento.

Por ejemplo si envio la letra B em abre el inventario correctamente

¿Es posible que la unica forma sea inyectando una dll y enviando la pulsacion desde el mismo proceso????

El caso es que estoy algo verde aun en el tema de la inyeccion XDDD

Muchas gracias a todos!!!!

En línea

тαптяα


Desconectado Desconectado

Mensajes: 1.151


Sic utere tuo ut alienum non laeda


Ver Perfil WWW
Re: Enviar pulsaciones de teclas
« Respuesta #5 en: 4 Noviembre 2010, 14:15 pm »

Aunque el movimiento sea dejar pulsada X tecla.

Si haces un bucle donde este todo el rato apretando a esa X tecla te servirá.

De todos modos también te recomiendo usar keydb_event.

 ::)
En línea

Khronos14


Desconectado Desconectado

Mensajes: 443


A lie is a lie


Ver Perfil WWW
Re: Enviar pulsaciones de teclas
« Respuesta #6 en: 4 Noviembre 2010, 15:25 pm »

No se si tendra alguna proteccion o algo o sera por que para caminar habra que dejar pulsada la tecla el caso es que las pulsaciones las envia correctamente todas menos las de movimiento.

Por ejemplo si envio la letra B em abre el inventario correctamente

¿Es posible que la unica forma sea inyectando una dll y enviando la pulsacion desde el mismo proceso????

El caso es que estoy algo verde aun en el tema de la inyeccion XDDD

Muchas gracias a todos!!!!



Si leyeras mi respuesta, tendrías la solución.

La API keybd_event simula la pulsación de teclas, y funciona como si pulsaras las teclas de verdad; además puedes hacer combinaciones de teclas pulsadas al mismo tiempo.
En línea

s_azazel

Desconectado Desconectado

Mensajes: 98



Ver Perfil
Re: Enviar pulsaciones de teclas
« Respuesta #7 en: 4 Noviembre 2010, 19:52 pm »

Perdonar pero estoy un poco verde aun estoy aprendiendo.... :S:S:S

La API keybd_event no parece tener ningun argumento para pasarel el Handle de la ventana donde enviar las pulsaciones del teclado

¿hay alguna forma de ponerle el foco del teclado a la ventana del juego antes de enviar la pulsacion???

Gracias!!!
En línea

Khronos14


Desconectado Desconectado

Mensajes: 443


A lie is a lie


Ver Perfil WWW
Re: Enviar pulsaciones de teclas
« Respuesta #8 en: 4 Noviembre 2010, 20:18 pm »

Citar
simula la pulsación de teclas, y funciona como si pulsaras las teclas de verdad

No necesitas HANDLE para nada, se envían pulsaciones de teclas, da igual la aplicación que tenga el foco....

http://msdn.microsoft.com/en-us/library/ms646304(VS.85).aspx
En línea

s_azazel

Desconectado Desconectado

Mensajes: 98



Ver Perfil
Re: Enviar pulsaciones de teclas
« Respuesta #9 en: 4 Noviembre 2010, 21:24 pm »

Pero si tengo el juego minimizado y ejecuto la aplicacion en c++ con ese codigo la pulsacion de teclado me ira a la aplicacion de c++ que estoy haciendo no al juego no???
En línea

Páginas: [1] 2 Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
Simular pulsaciones especiales en CMD desde .bat
Windows
WaAYa HaCK 2 15,703 Último mensaje 6 Junio 2011, 12:22 pm
por WaAYa HaCK
pulsaciones de teclas, fallan... « 1 2 »
Programación Visual Basic
engel lex 19 10,353 Último mensaje 9 Agosto 2011, 15:46 pm
por engel lex
pulsaciones teclas ignoradas
Hacking
engel lex 3 4,224 Último mensaje 8 Agosto 2011, 14:22 pm
por engel lex
[VB .NET] Enviar pulsaciones API SendMessage
.NET (C#, VB.NET, ASP)
kub0x 1 3,799 Último mensaje 17 Noviembre 2011, 22:31 pm
por seba123neo
GENERAR PULSACIONES , Q,W,E SIMULTANEAMENTE
Programación C/C++
Cess1209 3 2,348 Último mensaje 21 Marzo 2012, 22:27 pm
por kub0x
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines