FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Keylogger con acentos y más..
Hola gente.. hace unos días necesité hacer un hook de teclado para capturar la combinación de unas teclas, busque en distintos lugares y lo que resultó al final del día fue un keylogger pero después de un corto tiempo de usarlo vi que tenía ciertos inconvenientes, como por ejemplo las letras con acento, no solo que el hook me capturaba la letra sin el acento sino que lo más grave es que se "comía" el acento de la aplicación en que yo estuviera.. otro inconveniente fueron los códigos ASCII que ponemos con el tecladito numérico y ALT presionado.. en mi caso el teclado que tengo es muy bonito pero no tiene los signos mayor y menor lo cual para poner "distinto" en delphi (ej. : a <> b) es toda una odisea con ALT+60 y ALT+62 pero el hook, otra vez, no solo que me capturaba un "60" o un "62", según el caso, sino que también me los "comía" en las aplicaciones, así que se complicaba usar delphi con el hook activado, o intentar poner los acentos con el tecladito numérico, además cuando presionaba SHIFT o ALTGR para poner algún caracter especial, tardaba una tecla en responder y cuando soltaba el SHIFT o el ALTGR tardaba otra tecla en desactivarse o sea si por ejemplo escribía "11111$$$$$66666" esto es, 5 veces "1" luego presionamos SHIFT, luego 5 veces "4", soltamos SHIFT y 5 veces "6" lo que en realidad capturaba era "111114$$$$&6666" como ven se tardaba una tecla en responder y cuando soltaba se tardaba una tecla en desactivarse.. esto no afectaba ninguna aplicación pero entorpecía la captura..
Estos inconveniente los vi en todos los ejemplos con hook que encontré y después de renegar un tiempo pude solucionarlos casi todos.. lo único que resta es capturar el codigo ASCII presionando ALT, no lo veo muy complicado pero creo que no merece la pena hacerlo.. lo bueno de esto es que las aplicaciones funcionan correctamente sin que el Hook entorpezca... (pude salvar mis tan "amados" ALT+60 y ALT+62 mientras funciona el Hook.) Bien.. vamos al código Nada es 100% infalible seguramente hay algunas combinaciones de teclas que se escapan.. pero funciona bastante bien..
y la implementación sería algo asi..
y eso es todo... he dejado algunos comentarios en ingles que son del autor original.. como dije buscando por todos lados encontré cosas y las junté.. espero que les sea de utilidad y si tienen algún inconveniente, comentario o alguna forma mas "elegante" de hacer lagunas de las cosas que hice serán muy bien aceptadas.. Saludos.. Última edición por FENIXadr fecha: 11-04-2014 a las 03:50:13. |
#2
|
||||
|
||||
Gracias por el aporte
|
#3
|
||||
|
||||
Buen aporte.
Gracias.
__________________
Germán Estévez => Web/Blog Guía de estilo, Guía alternativa Utiliza TAG's en tus mensajes. Contactar con el Clubdelphi P.D: Más tiempo dedicado a la pregunta=Mejores respuestas. |
#4
|
||||
|
||||
__________________
La otra guía de estilo | Búsquedas avanzadas | Etiquetas para código | Colabora mediante Paypal |
#5
|
||||
|
||||
Hola FENIXadr.
Lo mismo digo, interesante aporte Saludos
__________________
Daniel Didriksen Guía de estilo - Uso de las etiquetas - La otra guía de estilo .... |
#6
|
|||
|
|||
En primer lugar agradezco al colega "FENIXadr"
la excelente código. * Hizo algunas alerações como está con problema caracteres japonês. * que sigue a continuación.
|
#7
|
|||
|
|||
Personalmente me hice más cambios en el código.
Ahora código consgue llegar precionar la tecla de repetición y mantenga. Hay distinción entre KeyDown y KeyUp siguiente
Aplication Delphi
|
#8
|
|||
|
|||
No consigo capturar las teclas de Función
Hola a todos, el código está genial pero no consigo capturar las teclas de Función F1, F2, F3, etc. Sabéis alguno porque??
|
#9
|
|||
|
|||
No consigo capturar las teclas de Función
Hola, me contesto a mi mismo por si a alguien le viene bien.
Para capturar las teclas de función sólo hay que poner el siguiente código: Código:
if not AltDWN then KeyState1[VK_RMENU] := 0; if (VirtualKey in [112 .. 123]) then begin SendMessage(pFHandle^, KeyMsg, VirtualKey, KeyStroke); end else begin Count := ToAscii(VirtualKey, KeyStroke, KeyState1, @AryChar[1], 0); ToAscii(VirtualKey, KeyStroke, KeyState1, @AryChar[1], 0); ... |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
keylogger? | unko! | Internet | 9 | 12-04-2014 02:02:06 |
keylogger en delphi | cmm07 | Varios | 2 | 10-04-2009 03:33:11 |
Haciendo mi propio keylogger | jorgegetafe | Varios | 7 | 06-11-2007 02:44:23 |
Construir un KEYLOGGER | SPARROW | Varios | 3 | 18-02-2004 15:27:00 |
|