WM_MOUSEMOVE wird auch bei nicht bewegender Maus aufgerufen
-
Wenn ich die Maus über meinem Fenster positioniere und da stehen lasse, bekomme ich trotzdem jede Sekunde die WM_MOUSEMOVE-Nachricht an meine WindowProc geschickt. Wieso?
Windows Vista 32 Bit
-
Das selbe passiert bei mir auch auch unter W2k und WinXP.
Und dass sogar wenn überhaupt kein HID Gerät angeschlossen ist.Desswegen speichere ich die aktuelle Mausposition in einer CPoint Variable und arbeite meinen Quellcode in M_MOUSEMOVE nur ab, wenn die Mausposition sich wirklich geändert hat.
-
Ich habe mal kurz geschaut, was die MSDN dazu meint
MSDN schrieb:
The WM_MOUSEMOVE message is posted to a window when the cursor moves. If the mouse is not captured, the message is posted to the window that contains the cursor. Otherwise, the message is posted to the window that has captured the mouse.
Drum tendiere ich schon wie anno dazumal
auch hier zu Bernhard's Idee, die
alten Daten wegzuspeichern.
-
Ich würde aber gerne wissen, aus welchem Grund das passiert. Vielleicht lässt es sich ja dann irgendwie anders lösen
-
Frag den Treiberhersteller von Deiner Maus...
Passiert bei mir eindeutig nicht!
-
Ich spiele mal Leichenschänder. Sind das wirklich die Maustreiber schuld? Ich finde das nämlich ganzschön nervig. Hat da jemand vielleicht eine Lösung gefunden, ohne das selbst zu speichern und auszuwerten nachdem man die Nachrichte schon bekommen hat? Das geht so schnell, ich habe fast das Gefühl die ganzen WM_MOUSEMOVEs wollen den Kanal verstopfen.
-
Sure, I can get spurious WM_MOUSEMOVE messages, but why do they keep streaming in?
http://blogs.msdn.com/b/oldnewthing/archive/2009/06/17/9763416.aspx
-
Es ist bestimmt der Treiber Deiner Maus...
Und wenn du kein zusätzlicher Maustreiber installiert hast, dann spielt Dir jemand ein bösen Streich, etwas anderes kann ich mir nicht vorstellen.
-
VS11, Windows 7, Logitech G400, ohne extra Treiber. Schon komisch. Interessant ist auch dass bei einer Anwendung diese Nachrichten extrem schnell kommen, die ist aber gerade zu komplex um das ordentlich zu testen. Wenn ich mir den Code von hier kopiere, kommen die Nachrichten aber nur etwa im Sekundentakt; trotzdem eigenartig. Ich kann auch keinen ungewöhnlichen Prozess feststellen, aber bei den gefühlten 20 svchost die gleichzeitig laufen weiß man ja nie so genau. Komische Optimierungsprogramme meide ich eigentlich auch gerne. Malware? Ja, könnte sein. Aber warum sollte die sowas verursachen? Bin etwas ratlos.
Edit: Lol. Die (halb?)sekündliche Nachricht ist weg. Aber da wo ich die Nachrichten sehr oft hintereinander bekomme, hat sich nichts geändert. Zumindest weiß ich jetzt, dass das Programm "schuld" zu sein scheint. Ist leider zu komplex um das alles zu posten, aber ich mache mich mal auf die Suche und berichte. ^^
PS: Wenn ich einmal in das Fenster klicke und die Maus dann nicht mehr bewege, hat es sich ausgesendet. Wenn ich die Maus aber wieder kurz bewege, geht der Spaß von vorne los.Edit: Alles klar, Problem gelöst. Ich habe PeakMessage() an einer Stelle falsch verwendet. Die halbsekündlichen Ghost-Movements sind mir zwar immernoch unheimlich.. aber sie sind ja nicht mehr da. Aus dem Auge, aus dem Sinn.