mouse_event Sleep
-
Guten Tag,
Problemstellung:
Ein normaler Klick soll ausgeführt werden, ohne Sleep zu benutzen, da es leider meine anderen If-Abfragen der Funktion eben für die Zeit stoppt. (Zeit 150ms zwischen den mouse_events).
Das Problem hierbei liegt, dass einfach die Maustaste permanent gedrückt wird. ( Sollte eigentlich nach 150ms wieder beendet sein?)
Vielleicht ist noch wissenswert, dass die Funktion in einem Thread/Schleife ausgeführt wird (10ms)
bool mouseHoldDown = false; DWORD mouseTickDown = NULL; if (!mouseTickDown) mouseTickDown = GetTickCount64(); if (!mouseHoldDown) { mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); mouseHoldDown = true; } if ((GetTickCount64() - mouseTickDown > 150) && mouseHoldDown) { mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); mouseTickDown = 0; mouseHoldDown = false; }
Vielleicht ein kleiner Denkfehler?
Gibt es irgendwas zum abfragen, ob ein mouse_event "beendet" ist? Würde das Sleep/TickCount etc. sparen.Bedanke mich für jegliche Hilfe
-
Wie soll das gehen?
Wenn die Abfrageif ((GetTickCount64() - mouseTickDown > 150) && mouseHoldDown)
kommt, ist noch nicht entsprechend viel Zeit vergangen, deshalb ist die Bedingung nicht erfüllt, und
mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); mouseTickDown = 0; mouseHoldDown = false;
wird nicht ausgeführt.
-
ja, ist mir bewusst, habe jedoch dazu geschrieben dass es in einer Schleife ausgeführt wird.
sollte doch normalerweise "loslassen" ?