padek78 Opublikowano 29 Marca 2005 Zgłoś Opublikowano 29 Marca 2005 Witam! Mam taki problem do rozgryzienia (korzystam z Visual C++ 6 ale w zasadzie kwestia jest samego C++) Sprawa dotyczy innej aplikacji (o której nie będę się tu rozwodził) ale problem można przedstawić nawet na windowsowskim kalkulatorze. Chodzi o to aby umieścić sobie okienko kalkulatora w pewnym miejscu na ekranie. I teraz uruchomić napisany programik, który ustawi wskaźnik myszy na koordynatę powiedzmy liczby 5 na kalkulatorze i kliknie ten klawisz kalkulatora następnie poczeka parę ustalony czas i przeskoczy na klawisz powiedzmy 8 i znowu poczeka przez jakiś czas. To jest ogólne założenie i taki mechanizm chcę właśnie stworzyć by klikał jakiś tam przycisk jakiejś tam aplikacji. Próbowałem to robić z automatu Visual C++ To znaczy konkretnie robiłem to tak: - tworzyłem aplikację MFC (exe) - w kreatorze klas tworzyłem w danej klasie wykorzystywałem komunikat WM_CREATE który tworzył funkcję OnCreate w kodzie to funkcji której umieszczałem takie dwie linijki: SetCursorPos(300,300); SetTimer(1,4000,NULL); Następnie znów do kreatora klas i komunikat WM_TIMER, który tworzy funkcję OnTimer i znowu w ciele tej funkcji wpisałem SetCursorPos(500,500) Po skompilowaniu mam tak że po uruchomieniu aplikacji kursor idzie na koordynaty 300,300 następnie po 4000 milisekund czyli de facto 4 sekundach przeskakuje na koordynaty 500,500. Problem jednak jest taki że ten kreator klas to strasznie zagmatwana sprawa dla mnie, gdzie wstawiany jest jakiś kod z automatu, w którym nie mogę się zbytnio zorientować. W związku z tym nie mogę tego procesu, jakgdyby, powtórzyć, zmieniając koordynaty i czas reakcji. Dlatego mam pytanie czy ewentualnie ktoś pisał może coś podobnego kiedyś w C++, ewentualnie może coś zasugerować, gdzieś odesłać (w jakieś miejsce gdzie mógłbym doczytać o takim zagadnieniu). Może mógłby ktoś coś mi podpowiedzieć w tej sprawie? Za ewentualne odpowiedzi dzięki z góry Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...
yasin Opublikowano 29 Marca 2005 Zgłoś Opublikowano 29 Marca 2005 napisales troche niejasno, rozumiem, ze wszystko dziala, ale tylko raz i nie mozesz tego zrobic wiecej razy(?), a wynika to z tego, ze robisz to w wm_create, ktore jest wywolywane tylko raz podczas tworzenia okna, wm_timer to dobry strzal, i tam powinienes umiescic cala procedure klikania i przesuwania kursora wiecej na ten temat www.msdn.com Cytuj Udostępnij tę odpowiedź Odnośnik do odpowiedzi Udostępnij na innych stronach Więcej opcji udostępniania...