Eine Frage Zum Thema Mouse Movement
-
Guten Abend,
ich bin ziemlich neu in C++ und habe daher mal eine Frage, zum Thema Maus.Gibt es einen Befehl, der die Maus um -/+ Pixel nach links/rechts bewegt (nicht SetCursorPos!).
In AHK (AutoHotkey) gibt es dafür einen vorgefertigten Befehl: MouseMove, 30, 0, 0, R.Wäre lieb wenn mir jemand helfen könnte!
-
Davon abgesehen, daß es in C++ nichts gibt, das man "Befehle" nennt ... was hast Du gegen
SetCursorPos()
??
-
Was hast du gegen:
// Bei jedem Aufruf abwechselnd einen Pixel links / rechts wackeln // Achtung, die Randbedingung: Mauszeiger ganz links & ganz rechts wird nicht behandelt // // Diesen Codeabschnitt kann man z.B. in die OnTimer Funktion schreiben und periodisch aufrufen. // -> Gestartet wird der Timer über SetTimer // // https://msdn.microsoft.com/en-us/library/windows/desktop/ms644901(v=vs.85).aspx // https://msdn.microsoft.com/de-de/library/windows/desktop/ms644902(v=vs.85).aspx // // Mehr Details dazu findet man über Google. // Suchbegriff: "MSDN WM_TIMER", "MSDN OnTimer", "MSDN SetTimer" und "MSDN KillTimer" POINT cpMouePos; // Mausposition holen GetCursorPos(&cpMouePos); // Entscheiden ob links oder rechts dran ist if(m_bLinks)// m_bLinks ist eine Membervariable (klassenweit gültige Variable) vom Typ bool { m_bLinks = false; // Das nächste mal ist nach Rechts dran cpMouePos.x--; // Ein Pixel nach links } else { m_bLinks = true; // Das nächste mal ist nach Links dran cpMouePos.x++; // Ein pixel nach rechts } // Mouse Curser verschieben SetCursorPos(&cpMouePos)
;
-
Ach ja.
Sobald der Bildschirmschoner aktiv ist, blockiert Windows alle Maus-Befehle.