Einzelnen Beitrag anzeigen

Flips

Registriert seit: 17. Feb 2005
Ort: Sankt Wendel
491 Beiträge
 
Delphi 7 Professional
 
#1

Hook funktioniert nicht systemweit

  Alt 18. Jul 2005, 12:40
Hallo.

Folgendes:
Ich habe mir mal das Hook Tutorial von Luckie (kein Tutorial, Quelltext) und von Assarbad angeschaut.
Habe mir daraus was zusammen geklebt...

Bin auch fast zufrieden, bis auf das der Hook nur dann aktiv ist, wenn mein Programm den Fokus hat.
Wie kann ich den Hook Systemweit aktivieren?
Hab echt keine Ahnung wie das geht...

Hier Dll Code:
Delphi-Quellcode:
library TastaturHook;

uses
  Windows,
  Messages;

const
 WM_KEYBOARD_HOOK = WM_USER + 52012;
var
 HookHandle: Cardinal = 0;
 WindowHandle: Cardinal = 0;

function KeyboardHookProc(nCode: Integer; wParam: WPARAM; lParam: LPARAM): LRESULT; stdcall;
begin
  Result := CallNextHookEx(HookHandle, nCode, wParam, lParam);
  case nCode < 0 of
    TRUE:exit;
    FALSE:
      begin
     PostMessage(WindowHandle,WM_KEYBOARD_HOOK,WParam,LParam);
      end;
  end;
end;


function InstallHook(Hwnd: Cardinal): Boolean; stdcall;
 var keyhooked: boolean;
begin
  keyhooked := false;
if HookHandle = 0 then
begin
 HookHandle := SetWindowsHookEx(WH_KEYBOARD, @KeyboardHookProc, HInstance, 0);;
 HookHandle:=1;
end;
  WindowHandle := Hwnd;
  Result := keyhooked;
end;

function UninstallHook: Boolean; stdcall;
var keybh: boolean;
begin
  keybh := UnhookWindowsHookEx(HookHandle);
  HookHandle := 0;
  Result := keybh;
  if Result then WindowHandle := 0;
end;

exports
  InstallHook,
  UninstallHook;

begin

end.
MfG
Flips
Philipp F.
  Mit Zitat antworten Zitat