Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: W0lFy en 11 Enero 2012, 03:32 am



Título: Hotkeys
Publicado por: W0lFy en 11 Enero 2012, 03:32 am
Cual es la mejor manera de desarrollarlo? He visto algun ejemplo con un timer que realiza la llamada a getAsynkeyState(key). Pero esto es ineficiente
No se me ocurre la manera con hooks de recoger una combinación de teclas pulsadas. Alguien me echa un cable? Gracias!


Título: Re: Hotkeys
Publicado por: Psyke1 en 11 Enero 2012, 20:02 pm
Código:
http://foro.elhacker.net/aporte_uchotkey-t315630.0.html
Código:
http://foro.elhacker.net/programacion_visual_basic/vb6_creacion_de_un_keylogger_avanzado_hook-t264469.0.html
Código:
http://leandroascierto.com/blog/keylogger/

DoEvents! :P


Título: Re: Hotkeys
Publicado por: W0lFy en 13 Enero 2012, 09:31 am
Código:
http://foro.elhacker.net/aporte_uchotkey-t315630.0.html
Código:
http://foro.elhacker.net/programacion_visual_basic/vb6_creacion_de_un_keylogger_avanzado_hook-t264469.0.html
Código:
http://leandroascierto.com/blog/keylogger/

Thank you  ;)

Citar
DoEvents! :P

Me.frefresh!!!



Título: Re: Hotkeys
Publicado por: W0lFy en 3 Febrero 2012, 10:06 am
Revivo, encontre la siguiente manera, pero con el tiempo la memoria RAM se dispara :S!!! Existe otra manera mas eficiente? Un saludo

Código
  1. Public Const MOD_CONTROL As Long = &H2
  2. Public Const MOD_SHIFT As Long = &H4
  3. Public Const MOD_ALT = &H1
  4.  
Código
  1. Public Function NewWindowProc( _
  2.                ByVal hwnd As Long, _
  3.                ByVal Msg As Long, _
  4.                ByVal wParam As Long, _
  5.                ByVal lParam As Long) As Long
  6.  
  7.    If Msg = &H82 Then
  8.  
  9.       Call SetWindowLong(hwnd, GWL_WNDPROC, WinProc)
  10.       Call UnregisterHotKey(hwnd, 1)
  11.  
  12.    End If
  13.  
  14.  
  15.    If Msg = &H312 Then
  16.          MSgbox "Combinación presionada"
  17.    End If
  18.    NewWindowProc = CallWindowProc(WinProc, hwnd, Msg, wParam, lParam)
  19.  
  20. End Function

Código
  1. Call RegisterHotKey(hwnd, 1, teclaWparamEnCadena("[SHIFT] + [CONTROL] + [D]"), teclaLparamEnCadena("[SHIFT] + [CONTROL] + [D]"))
  2.  

Código
  1.  
  2. Public Function teclaWparamEnCadena(cadena As String) As Long
  3. Dim vDatos As Variant
  4. Dim result As Long
  5. Dim i As Integer
  6. vDatos = Split(cadena, "+")
  7. result = 0
  8. For i = 0 To UBound(vDatos)
  9.  
  10.    Select Case Trim(vDatos(i))
  11.        Case "[SHIFT]":
  12.            result = result + MOD_SHIFT
  13.  
  14.        Case "[ALT]"
  15.            result = result + MOD_ALT
  16.        Case "[CONTROL]"
  17.            result = result + MOD_CONTROL
  18.    End Select
  19. Next
  20. teclaWparamEnCadena = result
  21. End Function
  22.