Was ist daran falsch?



  • Ich bin noch ein blutiger Anfänger bei der Programmierung mit C++, deshalb hoffe und glaube ich, dass ihr mein kleines Problem schnell lösen könnt:
    Ich möchte die Maus an eine bestimmte Stelle bewegen und dann einen Linksklick durchführen.
    Was ist daran falsch?

    SetCursorPos(400, 300);
    mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
    mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0);
    

    Ich bekomme beim Compiler für jede Zeile die beiden Meldungen
    "expected constructor, destructor or type conversion before '(' token"
    und
    "expected ,'or,' before '(' token"
    Ich muss also anscheinend etwas vor die Klammer schreiben, aber was? Ich hab schon versucht, einfach eine 1 davorzuschreiben, aber das geht auch nicht.

    Danke schonmal im Voraus!



  • Einfach mal anzunehmen das mouse_event veraltet ist und unter NT/2000/XP und höher nicht mehr unterstützt wird. Bitte lern doch erstmal die Grundlagen bevor Du versuchst mit irgendwelchen Hacks irgendwelche Sachen zu machen. MSDN hätte dir da sicher weiter geholfen.

    PS: Du bist im falschen Forum hier geht es um MFC



  • Danke für die Info!
    Aber welches Forum ist denn richtig?
    Kann mein Beitrag vielleicht verschoben werden?
    Oder soll ich einen neuen Thread eröffnen?

    Was kann ich denn als Alternative für mouse_event nehmen?



  • Dieser Thread wurde von Moderator/in Martin Richter aus dem Forum MFC (Visual C++) in das Forum WinAPI verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • mouse_event passt schon... neuer ist SendInput, aber mouse_event geht auch noch.

    Vermutlich erwartest Du aber etwas anderes als wirklich passiert 😉
    Der Klick erfolgt nämlich auf dem *aktiven* Fenster... das muss nicht unbedingt das sein, was Du willst...



  • Versuchs mit AutoIt, http://www.autoitscript.com/autoit3/. Damit kann man kinderleicht die Maus bewegen, klicken, tipppen usw.



  • kP, ich kenn den trubel mit mouse_input und SendInput weil die in so lamen #ifdef WINVER >= 5 sonstwas blöcken stehen, aber wenn du ned grad mit nem uralt sdk unterwegs bist, sollte des ned das prob sein. ich musste immer #define WINVER machen bevor ich wind00f.h eingebunden hab. aber nya mach ma rechtsklick auf mouse_event und geh in die header datei und guck wie das definiert ist.


Anmelden zum Antworten