Maus klickt nicht.
-
Hallo zusammen,
habe eine kleines Programm geschrieben, welches den Mauszeiger auf einen Button bewegt nach einem bestimmten Weg.
Jetzt sollte eigentlich eine Klick erfolgen aber tut halt nicht.
Hier mal der Programmtext.
Timer1->Enabled=true; } void __fastcall TForm1::Timer1Timer(TObject *Sender) { Timer1->Interval=50; POINT p; GetCursorPos(&p); xPos=p.x; yPos=p.y; Posx[i]=xPos; Posy[i]=yPos; i++; if(i==89) { i=0; Timer1->Enabled=false; Timer2->Enabled=true; } } //--------------------------------------------------------------------------- void __fastcall TForm1::Timer2Timer(TObject *Sender) { Timer2->Interval=50; SetCursorPos(Posx[i],Posy[i]); i=i+1; if(Posx[i]==780) { mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0); mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); } if(i==89) { i=0; Timer2->Enabled=false; Timer1->Enabled=true; } } void __fastcall TForm1::Button3Click(TObject *Sender) { Close(); }An der Stelle Posx= 780 ist der Cursor über Button3 und das Fenster sollte sich schließen, durch den Klick, aber nix passiert.
Wäre schön wenn ihr mir helfen könnt.
Edit:
Bitte die Code-Tags benutzen. Danke!
Dito für die Vorschau und ggf. die Editier-Funktion.
-
bitte benutz die code-tags für deinen code [C/C++] unter dem

// sowas z.b
-
Hi,
befindet sich der Cursor wirklich genau über dem "X"?
Zwischen Mausdown und Mausup evtl. mal ein Sleep(10); einfügen.Gruß
ravel
-
Ja der Cursor befindet sich auf der Position.
Lasse mir ca 5sec die Mauspositionen anzeigen und Speichern, und spiele dann alles ab.
Aber wenn der Cursor auf Position x=780 steht, wird kein Klick simuliert.
Auch mit der Sleep Funktion ändert sich nichts.Vielleicht hast du noch eine andere Idee?
Greez
Scalls
-
Alles klar, hab rausgefunden warum es nicht funzt.
War zu kurz über Posx=780 um es abzuspeichern.
Habe die if-Anweisung auf Posx>=780&&Posx<=820 gesetzt und jetzt geit es.Ciao