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.


Anmelden zum Antworten