Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi daten vom hook kommen nicht an (https://www.delphipraxis.net/14392-daten-vom-hook-kommen-nicht.html)

gekmihesg 8. Jan 2004 11:59


daten vom hook kommen nicht an
 
hallo!

ich hab versucht mir nach diesem tutorial von Assarbad einen hook zu schreiben.

funktioniert auch aber nur wenn mein form das die daten vom hook empfangen soll im forderground is.
ich übergebe die daten mit
PostMessage(WindowHandle, WM_USER + 1678, 0, 0);
(des WM_USER + 1678 hab ich aus nem anderen tutorial des mir aber ansonsten viel zu kompliziert war. muss das + 1678 sein oder kann ich da auch was anderes nehmen?)

was mach ich jetzt das mein form die daten auch empfängt wenns nicht im vordergrund is?

kanns vielleicht sein das der hook nicht geht wenn mein form nicht aktiv ist?

OLLI_T 9. Jan 2004 10:41

Re: daten vom hook kommen nicht an
 
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:
Delphi-Quellcode:
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. :zwinker:

Viele Grüsse

OLLI

gekmihesg 9. Jan 2004 12:47

Re: daten vom hook kommen nicht an
 
cool danke!

aber dann kann ich mein fenster doch bestimmt auch mit findwindow suchen oder?


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:58 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz