Título: SetWindowsHookEx ¿hay un ejemplo claro y funcional? Publicado por: yovaninu en 5 Agosto 2011, 05:03 am Buenas a todos
Me he pasado varias horas googleando a cerca de esta interesante API para 'enganchar' al teclado y a otras cosas, pero la mucha info que hay, esta al 90% en ingles y me cuesta entenderlo, por lo que pido ayuda a alguna alma caritativa para poder entenderla y ojala con un ejemplo funcional para a partir de alli poder crear por ejemplo un keylogger simple. Por lo que he logrado entender, seria mejor usar un hook a WH_KEYBOARD_LL y no a WH_KEYBOARD, ya que esta ultima dependeria de una DLL. Y por ultimo, ya que estoy bajo Visual C++ 2005, cual es el mejor escenario para poder crear por ejemplo un keylogger, una aplicación de consola o una aplicacion de Win32. Se que puedo estar preguntando cosas sin saber pero justamente por eso os pido que me orienten un poco. Saludos y muchas gracias desde ya. Título: Re: SetWindowsHookEx ¿hay un ejemplo claro y funcional? Publicado por: naderST en 5 Agosto 2011, 06:51 am Para el keylogger sin duda la aplicación Win32 y un ejemplo de un hook al teclado sería este:
Código
Aquí algunos links a la MSDN: http://msdn.microsoft.com/en-us/library/ms644960(v=VS.85).aspx (http://msdn.microsoft.com/en-us/library/ms644960(v=VS.85).aspx) http://msdn.microsoft.com/en-us/library/ms644990(v=vs.85).aspx (http://msdn.microsoft.com/en-us/library/ms644990(v=vs.85).aspx) Todo lo que tiene que ver con el API de Windows esta ahí. Título: Re: SetWindowsHookEx ¿hay un ejemplo claro y funcional? Publicado por: yovaninu en 5 Agosto 2011, 23:42 pm Ok, gracias por el ejemplo naderST, aunque en el Vs 2005, tuve que cambiar la definicion del preprocesador a UNICODE;_UNICODE;_WIN32_WINNT=0x0500 para que el ejemplo pueda ejecutar, ya sin ello daba el error
Código: 'WH_KEYBOARD_LL': undeclared identifier Bueno, al ejecutar el codigo de ejempo, aparentemente, ( o hasta donde hago el esfuerzo de entender) captura la tecla pulsada y luego el programa se detiene, me sale la sgte ventana: (http://www.tecnosantalucia.edu.pe/hwiz/screen.jpg) Cuales son los procedimientos que deberia realizar para poder ver las teclas capturadas y/o guardarlas en un archivo? Gracias por su tiempo. Título: Re: SetWindowsHookEx ¿hay un ejemplo claro y funcional? Publicado por: naderST en 6 Agosto 2011, 05:39 am Código
Con eso tienes la tecla y bueno lo demás de guardarlo en un archivo es básico, puedes usar la función GetForegroundWindow() para obtener la ventana actual y guardar eso en el archivo de texto y con eso saber en que ventana el usuario esta escribiendo y hay una infinidad de cosas que puedes hacer, ponte creativo. |