Einzelnen Beitrag anzeigen

1ceman

Registriert seit: 16. Dez 2005
Ort: Odenthal
134 Beiträge
 
Delphi 6 Personal
 
#1

Problem mit globalem Keyboard/Mouse-Hook

  Alt 31. Okt 2007, 08:40
Ich hab mir nen Keyboard und Mouse-Hook zusammengebastelt, was auch funktioniert.
Jedoch funktioniert es nur solange meine Form den Fokus hat.
Jetzt wollte ich das ganze somachen, dass es aber immer funktioniert.
Dazu habe ich in der function installhook WH_KEYBOARD durch WH_KEYBOARD_LL ersetzt.
Delphi-Quellcode:
const
WH_KEYBOARD_LL = 13;
WH_MOUSE_LL = 14;
//...\\
function InstallHook(Hwnd: Cardinal): Boolean; stdcall;
  var mouseh, keybh: boolean;
begin
  keybh := false;
  mouseh := false;

  case Mouse_HookHandle of
    0: begin
        Mouse_HookHandle := SetWindowsHookEx(WH_Mouse_LL, @MouseHookProc, HInstance, 0);
        mouseh := true;
      end;
  end;

  case Keyboard_HookHandle of
    0: begin
        Keyboard_HookHandle := SetWindowsHookEx(WH_KEYBOARD_LL, @KeyboardHookProc, HInstance, 0);
        keybh := true;
      end;
  end;

  WindowHandle := Hwnd;
  Result := keybh and mouseh;
end;
Es kommt zwar jetzt immer bei meiner Form was an, auch wenn sie minimiert ist z.B.
Jedoch kommt immer das selbe an, egal welche taste ich drücke.
lParam: 1244868
wParam(keydown):256
wParam(keyup):257

Habe ich irgendwas vergessen, was man noch ändern muss um nen hook global hinzubekommen???

mfg
1ceman
Roman
  Mit Zitat antworten Zitat