Das problem liegt in den globalen Variablen. Eine globale Hook-
DLL wird in alle Prozesse geladen.
Dabei wird eine
Kopie geladen. Nur eine einziger der
DLL-Kopien hat daher initialisierte globale Variablen (insbesondere der HOOK-
Handle).
Die Loesung dazu ist das diese Variablen in ein Shared Segment muessen, sprich alle Kopien teilen sich das Segment.
Bei MS VC++ geht das recht einfach. Fuer Delphi gibt es ein Tool das die generierte
DLL behandelt.
Suche auf der Borland Code Central nach "Shared segment". Zusatzlich nach dem autor "Petr Vones" zu suchen, kann nicht schaden.