Hallo zusammen,
ich hatte für die Lösung eines anderen Problems daran gedacht, ob es eine Möglichkeit wäre, Nachrichten anderer Steuerelemente einer fremden Anwendung abzufangen, zu manipulieren und dann an diese durchzulassen.
Konkret ging es darum, vor dem Einfügen eines Eintrags in ein ListView einer fremden Anwendung diesen vor dem Einfügen noch zu manipulieren.
Wollte daher nochmal in einem gesonderten Thread nachfragen, wie man Messages und MessageItems von Controls, die nicht in der eigenen Anwendung laufen, mithören kann? Den Handle zu dem Control habe ich in der Hand, aber wie abonniere ich mich auf dessen Nachrichten?
Das geht mit der WinAPI-Funktion SetWindowsHookEx (mit z.B. WH_CALLWNDPROC
oder WH_GETMESSAGE
als Parameter), s.a. Using Hooks (meistens umgesetzt mit einer nativen DLL).
Für C# s.a. Globale Hooks mit c# (nichtnur lowlevel) sowie [Sample] Globale Hooks in C#.