Hi, in deiner Hook Prozedure
Function InstallHook (ApplicationHandle:HWND) :Boolean; Stdcall;
übergibst du das Application
Handle, dies geht aber verloren, da du es nicht global für alle gehookten Prozesse abspeicherst.
Vorgang:
1. Hook wird mit Installhook initialisiert.
2. Windows lädt nun in alle laufenden 32 Bit Prozesse, mit Ausnahmen wegen Privileges, abgesehen die angegebene Hook-
dll.
3. In der HookDll des Prozesses X ist das
Handle somit unbekannt, und kann nicht funktionieren.
Ändern:
1.
Handle in Memory Mapped File zwischenspeichern und aus diesem auslesen.
2. Etwas unschöner,
handle in der Registry speichern und von dort auslesen.
lg. Astat