Einzelnen Beitrag anzeigen

Benutzerbild von Boombuler
Boombuler

Registriert seit: 14. Mär 2003
Ort: Osnabrück
244 Beiträge
 
Delphi 2009 Professional
 
#2

Re: Hook funktioniert nicht systemweit

  Alt 19. Jul 2005, 08:26
Hi,

daran wirds nicht wirklich liegen aber:

Zitat von Flips:
Delphi-Quellcode:
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;
ist nicht wirklich schön, da du den Hook nie wieder unhooken kannst!
du setzt dein HookHandle auf 1 statt den Rückgabewert der SetWindowsHookEx zu verwenden!
Machs doch lieber so:

Delphi-Quellcode:
function InstallHook(Hwnd: Cardinal): Boolean; stdcall;
var UnInst:boolean;
begin
  if HookHandle <> 0 then
    UnInst := UninstallHook;
  else
    UnInst := True;
  HookHandle := SetWindowsHookEx(WH_KEYBOARD, @KeyboardHookProc, HInstance, 0);
  WindowHandle := Hwnd;
  Result := (HookHandle <> 0) and UnInst;
end;
"Look at you, Hacker. A pathetic creature of meat and bone, panting and sweating as you run through my corridors. How can you challenge a perfect, immortal machine?"
SwapIt Highscore:
  Mit Zitat antworten Zitat