VB Code:
Private Declare Function LoadLibrary Lib "kernel32" Alias "LoadLibraryA" (ByVal lpLibFileName As String) As Long
Private Declare Function GetProcAddress Lib "kernel32" (ByVal hModule As Long, ByVal lpProcName As String) As Long
Private 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
Private Declare Function UnhookWindowsHookEx Lib "user32" (ByVal hHook As Long) As Long
Private Declare Function FreeLibrary Lib "kernel32" (ByVal hLibModule As Long) As Long
Private Const WH_KEYBOARD = 2
Private hHook As Long
Private hModule As Long
Private Sub Form_Load()
Dim lpfn As Long
'Change path to path of the dll.
hModule = LoadLibrary("KeyboardDll.dll")
If hModule <> 0 Then
lpfn = GetProcAddress(hModule, "_KeyboardProc@12")
If lpfn <> 0 Then hHook = SetWindowsHookEx(WH_KEYBOARD, lpfn, hModule, 0)
End If
End Sub
Private Sub Form_Unload(Cancel As Integer)
If hHook <> 0 Then UnhookWindowsHookEx (hHook)
End Sub