Мои два вызова API:
Private Declare PtrSafe 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 PtrSafe Function GetCurrentThreadId Lib "kernel32" () As Long
Функция My Hook Keyboard:
Public Sub HookKeyboard()
Dim ThreadID As Long
ThreadID = GetCurrentThreadId
KeyboardHandle = SetWindowsHookEx(WH_KEYBOARD_LL, AddressOf KeyboardCallback, Application.Hinstance, ThreadID)
Call HookedInitalize
End Sub
По какой-то причине мой хукне ловитьЕсли я заменю ThreadID на 0, указывая, что хук должен быть общесистемным, то хук ДЕЙСТВИТЕЛЬНО ловит.Но когда я пытаюсь ограничить его только приложением, оно не срабатывает.