Nachrichten überwachen
-
Wie lassen sich vor der Ausführung gesendete Nachrichten überwachen (monitoring)? Ich probiere derzeit einen moduslosen Dialog und leite SendMessage in eine eigene Funktion sendmessage um (beides in einer dll). Dort zeige ich die Inhalte, halte das Programm mit Sleep kurzzeitig an und schicke dann SendMessage ab. Bei diesem Weg bleiben jedoch einige Wünsche auf der Strecke.
-
Hallo,
dafür gibt es einen speziellen Hook.
Das ist der WH_CALLWNDPROCDer Hook wird aufgerufen, bevor Nachrichten an die Callback-Routine des Windows weitergeleitet werden, also noch vor dem (App-eigenen) Dispatcher.
-
Am einfachsten mit einem Hook! http://msdn.microsoft.com/en-us/library/ms644959(VS.85).aspx
-
Danke! Genau suche ich einem Message-Hook sowohl für selbstgesendete als auch für System-Nachrichten. Kann bei der Entwicklung und Pflege eines Windows-Programmes sehr hilfreich sein.
-
Dafür gibts doch auch Spy++!
-
Was zum Teufel ist Spy++? Kenne ich nicht.
-
berniebutt schrieb:
Was zum Teufel ist Spy++? Kenne ich nicht.
Dann google doch!

Spy++ ist ein Programm, dass beim Visual Studio mitgeliefert wird.
Aus der MSDN (http://msdn.microsoft.com/en-us/library/aa264396(VS.60).aspx):Spy++ (SPYXX.EXE) is a Win32-based utility that gives you a graphical view of the system’s processes, threads, windows, and window messages.
Damit kannst du fremde Fenster überwachen, dir alle Nachrichten + Paramtern (wparam, lparam) anzeigen lassen (oder auch nur bestimmte Nachrichten), Handle, Title, Fensterklasse, Adresse der WndProc, Eltern, Owner, ...
Falls du nicht an ein Visual Studio rankommst, schau mal bei Codeproject, da gibt's verschiedene Clone.
-
Danke Xantus und die anderen, war sehr hilfreich!