Kannst du das
ActiveX-Control in ein TPanel packen (oder ein anderes TWinControl). Dann nimmt es ggf. das Fensterhandle von diesem Fenster.
Alternativ:
Kannst du den Hook nicht mit einem Flag versehen, ob er aktiv ist oder nicht (einfache Abfrage in der
DLL).
Dann kannst du im Hauptprogramm das machen:
1. HookActive := false;
2. SendMessage(ActiveXControl.Handle, WM_KEYDOWN/WM_KEYUP, ..., ...);
3. HookActive := true;