![]() |
|
#1
|
|||
|
|||
![]() Всем здравствуйте.Есть этот код дллки,он должен при выключеном numlock в любом приложении всё равно печатать цифры,но чёт не печатает)) Просто ничего не происходит =( Я вот и не могу понять,что не
так в функции hook,мб кто подскажет? Код:
library lib; uses windows,messages; var H : THandle; ccode: Word; function hook(c0de, lParam : integer;Msg: TMsg;wParam : word): lresult; stdcall; var w : THandle; hw : hwnd; begin if c0de >= 0 then begin ccode:=0; case Msg.Message of WM_KEYDOWN, WM_KEYUP: case wParam of VK_HOME: ccode := VK_NUMPAD7; VK_UP: ccode := VK_NUMPAD8; VK_PRIOR: ccode := VK_NUMPAD9; VK_LEFT: ccode := VK_NUMPAD4; VK_CLEAR: ccode := VK_NUMPAD5; VK_RIGHT: ccode := VK_NUMPAD6; VK_END: ccode := VK_NUMPAD1; VK_DOWN: ccode := VK_NUMPAD2; VK_NEXT: ccode := VK_NUMPAD3; VK_INSERT: ccode := VK_NUMPAD0; VK_DELETE: ccode := VK_DECIMAL; end; if ccode <> 0 then wParam := ccode ; end; end else begin result := CallNextHookEx(H, c0de, wParam, lParam); exit; end; result := CallNextHookEx(H, c0de, wParam, lParam); End; procedure sethook(state:boolean)export; stdcall; begin if state=true then H:= SetWindowsHookEx(WH_KEYBOARD, @hook, hInstance, 0) else UnhookWindowsHookEx(H); end; exports sethook index 1; end. Последний раз редактировалось horror_, 08.08.2011 в 21:25. |