Systemweiter Hook für LVM_-Nachrichten
-
Hallo, ich habe das folgende Problem:
Ich habe einen systemweiten Hook gesetzt, der in einer *.dll alle Nachrichten mit WH_GETMESSAGE abfängt.
Nun möchte ich eine Aktion ausführen, wenn beispielsweise ein Fenster die Nachricht LVM_SETITEM oder LVM_INSERTITEMW sendet.
Leider bekomme ich keine Nachricht, obwohl die Fenster diese Nachrichten senden (hab ich mit Microsoft Spy++ überprüft).
Das Kuriose ist, dass ich mit dem selben Code beispielsweise andere Windows-Nachrichten wie WM_MOUSEMOVE, WM_LBUTTONDOWN etc. problemlos abfangen kann.
Wie kann ich nun auf solche LVM_-Nachrichten anderer Listenansichten reagieren?
-
die dinger komme über die WM_NOTIFY rein
-
Hey danke für die Info mit WM_NOTIFY, leider empfängt mein Hook anscheindend diese Nachrichten nicht.
Hier mal etwas Code:
if (ncode < 0) return CallNextHookEx(hook, ncode, wParam, lParam); MSG *msg = (MSG *)lParam; switch(msg->message) { case WM_NOTIFY: // case WM_LBUTTONDOWN: // Funktioniert: msg->message enthält Wert 0x201 switch (((LPNMHDR) lParam)->code) { case LVM_SETITEM: case LVM_INSERTITEMW: // ... { LPNMLISTVIEW lpnm; lpnm = (LPNMLISTVIEW) lParam; // ... } } }
// naechsten Hook in der Kette aufrufen.
return CallNextHookEx(hook, ncode, wParam, lParam);