Damit sollte es immer noch nicht funktionieren.
Bei globalen Hooks muss man den Hook-
Handle in einer Weise aufheben das alle Hook-DLLs ihn benutzen koennen.
Die Hook-
DLL wird naemlich allen laufenden Prozessen zugeschlagen und es ist eine Kopie der
DLL.
Das Datensegment mit den globalen Variablen ist fuer jede Kopie der
DLL separat.
Daraus folgt das nur genau eine Kopie den Hook-
Handle hat. Entsprechend funktioniert meistens CallNextHookEx nicht.
Es gibt mehrere Methoden den Hook-
Handle geeignet aufzuheben. Ein Shared Segment ist nur mit MS VC++ leicht moeglich.
Peter Vones hat aber ein Tool geschrieben, das es auch fuer Delphi moeglich macht. Siehe Borland Code Central.
Man kann den Hook-
Handle aber auch in ein Memory Mapped File stecken.