da hotkeys nicht bei spielen gehen möchte ich dafür einen key hook erstellen. dabei bin ich auf dieses tutorial gestoßen: http://www.delphi-treff.de/tutorials/sy ... s/vorwort/.
Ich habe mir das aller schon mehrfach durchgeschaut jedoch weiß ich noch immer nicht wie ich denn z.B. das Installhook bze Deinstallhook jetzt aufrufen kann.
also das ist ja der library code:
Code: Alles auswählen
library KeyboardHook;
{$mode objfpc}{$H+}
uses
Windows,
Messages;
{$R *.res}
var
HookHandle: Cardinal = 0;
WindowHandle: Cardinal = 0;
function KeyboardHookProc(nCode: Integer; wParam: WPARAM; lParam: LPARAM):
LRESULT; stdcall;
begin
//es ist ebenfalls möglich die Bearbeitung an eine Bedingung zu knüpfen
Result := CallNextHookEx(HookHandle, nCode, wParam, lParam);
case nCode < 0 of
TRUE: exit; //wenn code kleiner 0 wird nix gemacht
//if code smaller 0 nothing has to be done
FALSE:
begin
//Hier kann jetzt alles bearbeitet werden
end;
end;
end;
function InstallHook(Hwnd: Cardinal): Boolean; stdcall;
begin
Result := False;
if HookHandle = 0 then begin
//Erstmal Hook installieren
HookHandle := SetWindowsHookEx(WH_KEYBOARD, @KeyboardHookProc,
HInstance, 0);
//Uebergebenes Fensterhandle sichern
WindowHandle := Hwnd;
Result := TRUE;
end;
end;
function UninstallHook: Boolean; stdcall;
begin
//Hook aus der Hookchain entfernen
Result := UnhookWindowsHookEx(HookHandle);
HookHandle := 0;
end;
exports
//Installations- und Deinstallationsroutine exportieren
InstallHook,
UninstallHook;
end.
am ende möchste ich dann über den hook abfragen ob kombination wie z.B. umschalt u. Tab gedrückt werden/wurden und darauf aktionen ausführen, das ganze halt auch während spiele gestartet sind.