Maus-Message Probleme im Hook

Shaijan

Mitglied
Hi ...

Ich habe für mein Programm einen Hook der systemweit die Maus-Messages überwachen soll, die dann mit meinem Programm gezählt werden. Das ist ja so weit kein Problem.
Die einfachen Klick-Messages und WM_MOUSEWHEEL funktionieren wunderbar. Nun habe ich mir selber eine Lösung gebastelt, mit der ich auch Doppelklicks überwachen kann, da diese Message anscheinend nicht vom Hook abgefangen wird.
Dann habe ich in der MSDN noch Messages wie WM_ACTIVATE, WM_HOVER und WM_LEAVE gefunden. Natürlich könnte man sich für sowas auch eine eigene Lösung basteln, wo ich aber gerade keine Lust zu habe ;)

Also meine Frage:
Kann man per Hook auch solche Nachrichten überwachen?
Habe schon alle möglichen Hooks ausprobiert WH_MOUSE, WH_MOUSE_LL und WH_GETMESSAGE und bei keinem gings ...

Würd mich über Hilfe freuen

cya
Shaijan
 
Hi Shaijan,

ich hab zwar keine Lösung für dich, mich würde aber dein Programm interesieren.
Kannst du mal ne kleine Erläuterung ( evtl. mit code ) schicken wie du das gemacht hast, dass du systemweit die Mausmessages abfängst?

Das währe nett. Danke.

Mfc Col.Blake
 
In Kürze sollte hier im Tutorials Bereich ein ausfürliches Tutorial zu Windows Hoos, speziell zu Maus-Hooks erscheinen.

Gruß Homer
 
Hi colblake ...

Ich werd mal keinen Code schreiben, wenn du wissen willst wie Hooks funktionieren, die sind im Netz eigentlich recht gut dokumentiert.

Du brauchst eine DLL, in die du deinen Hook schreibst, das ermöglicht die systemweite Überwachung.
Dann musst du in der DLL den Handle deines Fensters speichern, beim Initialisieren des Hooks.
In der HookProc in der DLL fragst du dann die Messages ab, die da abgefangen werden und schickst sie über eine eigene Message an dein Programm, wo du sie dann verarbeiten kannst.

So habe ich das Prog realisiert...

Hoffe das konnte dir weiter helfen.

@Daniel Toplak

Da du dich damit ein wenig besser auszukennen scheinst:
Geht es denn überhaupt, andere Messages als die einfachen Klick-Messages abzufangen, bzw. auch DoppelKlick-Messages abzufangen?
Wie gesagt musste ich mir für die DoppelKlicks ne eigene Lösung basteln (über die DoppelKlick-Zeit).

cya
Shaijan
 
Zuletzt bearbeitet:
Fang mal die Messages
WM_LBUTTONDBLCLK (Doppelklick linke Maustaste)
WM_MBUTTONDBLCLK (Doppelklick mittlere Maustaste bzw. Mausrad) und
WM_RBUTTONDBLCLK (Doppelklick rechte Maustaste ab)
Damit sollte es klappen. Oder ging's in Deiner Frage nicht um Doppelklicks?

Gruß
René
 
@Rene Albrecht

Doch, das beinhaltete meine Frage auch, leider werden diese Messages (nach meinen Informationen) nicht vom Hook abgefangen. Statt dessen werden 2 normale WM_LBUTTONUP Messages (bzw. andere) gesendet.

Habs auch ausprobiert und leider keinen Erfolg gehabt.
 
Ok, hat sich alles erledigt. Ich bin einfach zu doof um meine DLL im richtigen Ordner zu aktualisieren *g*
Mit den Doppelklick-Messages funktionierts jetzt auch normal *g*, aber die anderen bekomm ich immer nur bei komischen Aktionen rein, bzw. die WM_MOUSEACTIVATE bekomm ich garnicht.
 
Zurück