dlls verwenden --> in meinem fall für nen key hook

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
Bauer321
Beiträge: 465
Registriert: Sa 21. Aug 2010, 21:30
OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
CPU-Target: 64-Bit
Wohnort: nahe Bremen
Kontaktdaten:

dlls verwenden --> in meinem fall für nen key hook

Beitrag von Bauer321 »

Hallo,

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.
und da weiß ich dann jetzt nicht wie ich auf die einzelnen funktionen zugriefen soll.

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.
www.mcpatcher.net | www.hoeper.me

BeniBela
Beiträge: 320
Registriert: Sa 21. Mär 2009, 17:31
OS, Lazarus, FPC: Linux (Lazarus SVN, FPC 2.4)
CPU-Target: 64 Bit

Re: dlls verwenden --> in meinem fall für nen key hook

Beitrag von BeniBela »

Bauer321 hat geschrieben:
und da weiß ich dann jetzt nicht wie ich auf die einzelnen funktionen zugriefen soll.
Na ja, so:
http://www.delphi-treff.de/tutorials/sy ... es-themas/" onclick="window.open(this.href);return false;
im Hauptprogramm.

IMHO funktioniert das aber mit dieser dll sowieso nicht, weil die globalen Variablen gelöscht werden und du noch im ersten Hookaufruf die beiden Handles bekommen musst.
Lese dir mal die Tutorials von assarbad durch

Bauer321
Beiträge: 465
Registriert: Sa 21. Aug 2010, 21:30
OS, Lazarus, FPC: Windows 7 Ultimate (L 1.2.2 FPC 2.6.4 32-bit)
CPU-Target: 64-Bit
Wohnort: nahe Bremen
Kontaktdaten:

Re: dlls verwenden --> in meinem fall für nen key hook

Beitrag von Bauer321 »

kannst du mir vll nen link dazu schicken?

edit --> gefunden
www.mcpatcher.net | www.hoeper.me

Antworten