Hallo zusammen,
wie kann ich global abfragen, ob die Maus bewegt wurde?
Also ich möchte ein Programm im Hintergrund laufen lassen, welches nur etwas tun soll, wenn die Maus bewegt wird. Ich habe zwar im Internet ein paar Codebeispiele von anderen Leuten gefunden, aber da war alles aufgeteilt auf mehrere Klassen, ohne eine Erklärung dazu. Und ich möchte nicht einfach etwas importieren und benutzen, sondern verstehen wie so etwas funktioniert und selber im Code implementieren.
Danke im Voraus!
greetz 😉
Was hast du denn bisher probiert? Bzw., was funktioniert nicht?
Was genau möchtest du erreichen?
Dieses Beispiel auf StackOverflow ist doch sehr überschaubar: how-do-i-capture-the-mouse-move-event
Hallo,
der Code funktioniert leider nur, wenn ich die Maus innerhalb der Form des C# Programmes bewege.
Ich möchte aber eine globale Mausbewegung erkennen, wenn sie außerhalb der Form ist bzw. das Programm minimiert ist. Also wenn irgendwo auf der Windowsoberfläche eine Bewegung stattfindet, soll das Programm diese Bewegung erkennen.
greetz 😉
Hallo,
das Stichwort dazu lautet: MouseHook (s. z.B. meine geposteten Links in Erfassen, welches Object sich gerade im Drag und Drop befindet außerhalb der Form)
Hallo,
danke für die Projekte, aber ich verstehe den Code ehrlich gesagt nicht, da ich noch Anfänger bin. Hilfreich wäre es wenn es dazu eine Anleitung bzw. Beschreibung geben würde, was dieser Code genau macht und wie ich den selbstständig in meinem Projekt einbauen kann, damit ich etwas dazulernen kann.
LG
Das ist schon etwas fortgeschrittenere WinAPI-Programmierung (das nichts direkt mit .NET zu tun hat).
Du solltest dir ersteinmal einfachere Projekte zum Lernen aussuchen, s.a. [FAQ] Wie finde ich den Einstieg in C#? sowie [FAQ] C# Projektvorschläge (Anfänger, Schüler, Praktikanten).
Ich arbeite ja nebenbei ohnehin meine Tutorials ab und bringe mir Schritt für Schritt alles bei (mittels Buch, Internetseiten und Youtube) aber ich möchte eben nebenbei auch ein Programm umsetzen, das ich dringend brauche und dafür müsste ich eben die Mausbewegung abfragen und integrieren und mit WinAPI muss man sich ohnehin früher oder später beschäftigen. Ich finde das Problem liegt nicht in der Komplexität, sondern eher in der mangelnden Doku, denn ich habe bis jetzt noch nirgends einen Code gefunden, der ordentlich kommentiert wurde und bei dem man Schritt für Schritt nachvollziehen kann, was dieser Code macht.
LG
Gibt es evtl. auch die Möglichkeit die globale Mausposition, also X und Y Koordinaten abzufragen?
Damit wäre es vmtl. noch leichter, denn man könnte ja einfach alle 30 Sekunden abfragen, ob sich die Position verändert hat.
So müsste es ja theoretisch auch klappen, aber leider finde ich im Internet nirgends Information zur globalen Abfrage von Maus Koordinaten.
LG
Hallo,
hier gibt es ein Projekt für globale Mouse- und Keyboard-Hooks:
Global-Low-Level-Key-Board-And-Mouse-Hook
Mit drei Zeilen Code hast du deinen Hook erstellt - Beispiel ist auch vorhanden.
Ansonsten suchst du die GetCursorPos function mit welcher du die Mausposition abrufen kannst.
Hier der P/Invoke dafür:
https://www.pinvoke.net/default.aspx/user32.getcursorpos
Grüße
spooky
Die Doku dazu gibt es in der WinAPI: Hooks ff.