HiHo!
Völlig klar, dass der Hook nur mit Deiner Anwendung funktioniert. Denn nur in dieser Kopie der Hook
DLL ist Dein Fenster-
Handle (WindowHandle) definiert. Wird die
DLL jedoch in den Adressraum einer anderen laufenden Anwendung geladen, so bricht Dein Kartenhaus zusammen. Abhilfe kannst Du dadurch schaffen, indem Du die Message an alle Fenster schickst:
PostMessage(HWND_BROADCAST, WM_USER + 1678, 0, 0);
Das kann allerdings dazu führen, dass das System ein wenig erlahmt; insbesondere bei einem MouseHook ist mir das unangenehm aufgefallen. Eleganter ist es da mit einem MemoryMappedFile zu arbeiten, das alle relevanten Daten an die Host-Anwendung weiterreicht.
Achso und für die Message Konstante kannst Du auch WM_USER + 35 oder WM_USER + 145 verwenden. Das ist Jacke wie Hose.
Viele Grüsse
OLLI