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.