Emular teclas desde c++ windows.

Iniciado por ShinyDavid, 10 Julio 2015, 02:01 AM

0 Miembros y 1 Visitante están viendo este tema.

ShinyDavid

Buenas tardes.

Recientemente eh estado programando un proyecto, estaba buscando información de como realizar a propósito la pantalla azul de la muerte en windows, encontré que escribiendo en las claves del registro y bien programe en c++ para que se escriban solas las claves del registro, pero se realiza con una combinación de teclas las cuales son CTRL + SCROLL LOCK (Bloq/Despl), al presionarlos físicamente sale sin problemas la pantalla azul, pero ahora lo que quiero es hacer un programa que al ejecutarlo salga automáticamente la pantalla azul, pense en hacerlo con:

            keybd_event( VK_RCONTROL,0x45,KEYEVENTF_EXTENDEDKEY | 0,0 );
            keybd_event( VK_SCROLL,0x45,KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,0 );
            keybd_event( VK_SCROLL,0x45,KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,0 );
            keybd_event( VK_RCONTROL,0x45,KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,0);


Pero aun asi no me da el pantallazo azul al ejecutar, cuando ejecuto otras teclas si las hace sin problemas (ejemplo tecla de windows, shift mas alguna letra para que salga en mayúsculas), pero en este caso no es asi, quisiera saber si me puede apoyar a realizarlo.

Gracias.
"La ciencia solo es una perversión de si misma si su finalidad no es mejorar a la humanidad".

- Nikola Tesla

Eternal Idol

En tu codigo estas enviando que scroll se dejo de presionar dos veces con KEYEVENTF_KEYUP pero ninguna vez que se presiono.

Proba con este mejor (yo no lo probe, no tengo tiempo de colgar mi maquina):
http://www.sythe.org/programming-general/354760-good-destructive-code.html
La economía nunca ha sido libre: o la controla el Estado en beneficio del Pueblo o lo hacen los grandes consorcios en perjuicio de éste.
Juan Domingo Perón

ShinyDavid

Hola,

Ya probé usando parte del codigo y usando ese código únicamente y no funciona, solo buguea las teclas cuando escribo pero no da el pantallazo, aun no se como realizarlo  :huh:
"La ciencia solo es una perversión de si misma si su finalidad no es mejorar a la humanidad".

- Nikola Tesla