• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Problem z symulacją przesunięcia myszki

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
198 wizyt
pytanie zadane 29 listopada 2016 w C i C++ przez kamiloo Nowicjusz (140 p.)

Witam. Ostatnio zrobiłem bota do klikania bardzo szybko w jeden punkt na ekranie było mi to potrzebne do gry(nie multi spokojnie nie chciałem i nie chce psuć komuś zabawy) ale pomyslałem ze fajnie byłoby mieć bota który potrafi przesuwać obiekty na ekranie. Niestety mecze się z tym i szukam ale nie mogę  znaleść rozwiązania mojego problemu próbowałem zrobić coś takiego ze ustawiłem pozycje  myszki na jednym punkcie z komendą  MOUSEEVENTF_LEFTDOWN pozniej przesunę myszkę na nastepny zapisany punkt i tam wywołuje  MOUSEEVENTF_LEFTUP. Niestety program nie działa poprawnie bot nie jest wstanie niczego przemieścić a myszka czasami przeskakuje w pozycję której nie zapisywałem do wektora.

POINT cur;
std::vector<POINT> t_cur;
String s;
int p;

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{

if(p<t_cur.size())
{
 SetCursorPos(t_cur[p].x, t_cur[p].y);
 mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
 p++;
  SetCursorPos(t_cur[p].x, t_cur[p].y);
 mouse_event(MOUSEEVENTF_LEFTUP, 0 ,0 ,0 ,0);
 p++;
 }
 else p=0;

}
//---------------------------------------------------------------------------

void __fastcall TForm1::Timer2Timer(TObject *Sender)
{
 cur.x = Mouse->CursorPos.x;
 cur.y = Mouse->CursorPos.y;
 Label1->Caption = IntToStr(cur.x)+":" + IntToStr(cur.y);
}

Proszę o pomoc i z góry dziękuje :)

1 odpowiedź

0 głosów
odpowiedź 29 listopada 2016 przez niezalogowany
komentarz 30 listopada 2016 przez kamiloo Nowicjusz (140 p.)

Dzięki za link coś na razie nie ogarniam jak ma to działać i trochę martwi mnie ocena która wynosi -5 ale jeszcze popróbuje i dalej jak to nie problem to prosze jeszcze o rady smiley

komentarz 2 grudnia 2016 przez kamiloo Nowicjusz (140 p.)
Dobra juz rozumiem jak to działa dla tych co mają podobny problem wysyłam kod:

void __fastcall TForm1::Timer1Timer(TObject *Sender)
{

if(p<t_cur.size())
{
if(p==0)
{
SetCursorPos(t_cur[p].x, t_cur[p].y);
 mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
}
if(p==t_cur.size()-1)
{
  SetCursorPos(t_cur[p].x, t_cur[p].y);
 mouse_event(MOUSEEVENTF_LEFTUP, 0 ,0 ,0 ,0);
}
 SetCursorPos(t_cur[p].x, t_cur[p].y);
 mouse_event(MOUSEEVENTF_MOVE, 0 ,0 ,0, 0);
 p++;
 }
 else {p=0;
       }

Podobne pytania

0 głosów
1 odpowiedź 171 wizyt
pytanie zadane 2 listopada 2016 w C i C++ przez Piotr Królak Obywatel (1,950 p.)
0 głosów
1 odpowiedź 694 wizyt
pytanie zadane 27 października 2016 w C i C++ przez Piotr Królak Obywatel (1,950 p.)

93,109 zapytań

142,088 odpowiedzi

321,611 komentarzy

62,450 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...