I have this code. I am writing a global keyboard interceptor.
library ScanFlow1; uses Windows, SysUtils; var CurrentHook: HHook; function KeyboardProc(nCode: integer; wParam: integer; lParam: integer ): LongWord; stdcall; begin if (nCode < 0) then begin Result := CallNextHookEx(CurrentHook, nCode, wParam, lParam); Exit; end; //Что то делаем ... Result := CallNextHookEx(CurrentHook, nCode, wParam, lparam); end; procedure SetupGlobalKeyBoardHook; begin CurrentHook := SetWindowsHookEx(WH_KEYBOARD, @KeyboardProc, HInstance, 0); end; procedure UnHook; begin UnhookWindowshookEx(CurrentHook); end; exports SetupGlobalKeyBoardHook, UnHook; begin end. And I see that it works in separate applications. In Notepad ++, in the browser and some others it does not work, but in just Notepad it works. What is wrong here? Is this a global hook?
CallNextHookEx? - kot-da-vinci