Registriert seit: 14. Mär 2003
Ort: Osnabrück
244 Beiträge
Delphi 2009 Professional
|
Re: Hook funktioniert nicht systemweit
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:
|