Тема: Num Lock в DLL =(
Показать сообщение отдельно
  #1  
Старый 08.08.2011, 20:43
horror_ horror_ вне форума
Прохожий
 
Регистрация: 08.08.2011
Сообщения: 8
Репутация: 10
Вопрос Num Lock в DLL =(

Всем здравствуйте.Есть этот код дллки,он должен при выключеном 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.
Админ: Пользуемся тегами для оформления кода!
Ответить с цитированием