Hooks, WH_KEYBOARD.

Iniciado por Chief, 29 Septiembre 2005, 05:02 AM

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

Chief

hola, alguien tiene informacion sobre hooks, sobre la del teclado, es que quiero hacer un keylogger con hooks y no puedo encontrar la suficiente informacion como para que me ande bien.

Salu2!!! y muchas gracias.  ;)
sr. oscuro


Chief

Nadie sabe como??
Pongo una respuesta para que no se pierda el post y no tener que abrir uno nuevo XP.
hey .Polux tu no sabes??

Salu2!! Muchas gracias.
sr. oscuro



NYlOn

Aca hay un ejemplo sacado del API-Guide 3.7
Lo paso tal cual esta:

'In a module
Public Const WH_KEYBOARD = 2
Public Const VK_SHIFT = &H10
Declare Function CallNextHookEx Lib "user32" (ByVal hHook As Long, ByVal ncode As Long, ByVal wParam As Long, lParam As Any) As Long
Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Declare Function SetWindowsHookEx Lib "user32" Alias "SetWindowsHookExA" (ByVal idHook As Long, ByVal lpfn As Long, ByVal hmod As Long, ByVal dwThreadId As Long) As Long
Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long
Public hHook As Long
Public Function KeyboardProc(ByVal idHook As Long, ByVal wParam As Long, ByVal lParam As Long) As Long
   'if idHook is less than zero, no further processing is required
   If idHook < 0 Then
       'call the next hook
       KeyboardProc = CallNextHookEx(hHook, idHook, wParam, ByVal lParam)
   Else
       'check if SHIFT-S is pressed
       If (GetKeyState(VK_SHIFT) And &HF0000000) And wParam = Asc("S") Then
           'show the result
           Form1.Print "Shift-S pressed ..."
       End If
       'call the next hook
       KeyboardProc = CallNextHookEx(hHook, idHook, wParam, ByVal lParam)
   End If
End Function

'In a form, called Form1
Private Sub Form_Load()
   'KPD-Team 2000
   'URL: http://www.allapi.net/
   'E-Mail: KPDTeam@Allapi.net
   'set a keyboard hook
   hHook = SetWindowsHookEx(WH_KEYBOARD, AddressOf KeyboardProc, App.hInstance, App.ThreadID)
End Sub
Private Sub Form_Unload(Cancel As Integer)
   'remove the windows-hook
   UnhookWindowsHookEx hHook
End Sub


Espero que te sirva !

salu2 ;)

Chief

Bueno gracias NylOn y Dexonline, el codigo de la guia de api ya lo habia probado, haunque se repiten las teclas como 3 veces, pero bueno ya veo como me las arreglo, con voy a probar, modificar, etc.

Salu2!!! ;)
sr. oscuro


Kizar

No, compila el ejecutable, ya veras como solo captura 1 vez cada tecla, a mi me va de lujo, pruevalo

Salu2

NYlOn

Estaba hablando de mi codigo xDDDD

salu2 !

Chief

hay ta si funca bien Dexonline, gracias.
Salu2!!
sr. oscuro