Utermiko Opublikowano 21 Marca 2012 Udostępnij Opublikowano 21 Marca 2012 Witam! Z góry mówię iż jestem początkujący w Delphi. Zrobiłem taki programik dla siebie, do którego wpisuje się współrzędne gdzie myszka ma kliknąć. Jak najbardziej klika ale chcę to wykorzystać w pewnej grze. I chodzi o to, że w grze symuluje kliknięcie tylko wtedy gdy uruchomię mój "twór" w Delphi przez Run(F9). Kiedy skompiluje go do *.exe (Project>Build Project1) symulowanie kliknięcia działa tylko np. na pulpicie a w grze już nie. To samo jest z symulowaniem liter klawiatury. Wydaje mi się, że to jest jakiś głupi bład, ale nie mogę go znaleźć, dlatego proszę o pomoc ;d. Uzywam Delphi 7 i mam windowsa viste. Myszkę przesuwam funkcją SetCursorPos(x, y); <--To dziala Symuluje wcisniecie myszki funkcja: mouse_event(MOUSEEVENTF_LEFTDOWN, x, y, 0, 0); mouse_event(MOUSEEVENTF_LEFTUP, x, y, 0, 0); Klawiatura: keybd_event(VkKeyScan(#32), 0, 0, 0); keybd_event(VkKeyScan(#32), 0, KEYEVENTF_KEYUP, 0); keybd_event(VkKeyScan(#32), 0, 0, 0); keybd_event(VkKeyScan(#32), 0, KEYEVENTF_KEYUP, 0); Przepraszam, że napisałem to trochę dziwnie ale nie wiem jak to mam wytłumaczyć ;d Z góry dziękuję za pomoc ;) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Compi Opublikowano 22 Marca 2012 Udostępnij Opublikowano 22 Marca 2012 Popróbuj z uchwytami. Dam ci znaleziony w necie skrawek kodu, może ci coś rozjaśni. var CurrentPos : TPoint; CurrentWindow : HWND; begin CurrentWindow := GetForegroundWindow; // pobierz uchwyt aktywnego okna GetCursorPos(CurrentPos); // pobierz tymczasowa pozycje ekranu ShowWindow(Foreground, SW_SHOWNA); // pokaż okno BringWindowToTop(Foreground); // dla pewnosci - wysun na wierzch SetForegroundwindow(Foreground); // ustaw aktywne okno Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 22 Marca 2012 Autor Udostępnij Opublikowano 22 Marca 2012 Ok dzięki za pomoc, popróbuję z tymi uchwytami ;P Ale dalej mnie męczy pytanie dlaczego kiedy uruchamiam przez Delphi>Run to wszystko działa, a po kompilacji do *.exe nie ;/ @EDIT Teraz uaktywnia okno, ale za to myszka się nawet nie przesuwa ;/ Wydaje mi się, że Delphi nie dołącza jakiejś biblioteki albo to ,że Delphi 7 nie jest w pełni kompatybilne z Vistą, bo to co podałeś działa gdy uruchamiam poprzez Delphi>Run. Strasznie dziwny błąd ;/ @EDIT 2 Teraz zapisałem projekt do nowego folderu, chciałem skompilować i antywir(McAfee) krzyknął, że to wirus BTW. Nie ma jakiegoś nowszego, darmowego IDE Delphi?(Nie Lazarus ;d) Słyszałem coś o Delphi XE2 Starter, ale na stronie embarcadero widze tylko Download Trial(30 days) Ew. Znajde gdzieś Turbo Delphi Explorer, bo kiedyś się rejestrowałem i mam klucz ale programu nie i odpale projekt tam(ew. przepisze ;d) ;/ Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Compi Opublikowano 22 Marca 2012 Udostępnij Opublikowano 22 Marca 2012 Skorzystaj z Lazarusa lazarus.freepascal.org To darmowy odpowiednik Delphi. Jazz 2 RLZ :D Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Utermiko Opublikowano 22 Marca 2012 Autor Udostępnij Opublikowano 22 Marca 2012 Nie ma jakiegoś nowszego, darmowego IDE Delphi?(Nie Lazarus ;d) ^^ Pobieram właśnie TDE, może będzie działać ;P Co do Lazarusa, jakoś nie lubię go, wolę Delphi, a pozatym odpycha mnie ogromny rozmiar exeka kompilowanego w nim.(Tak, wiem są UPX'y i można to skonfigurować) @EDIT W Turbo Delphi tym bardziej nie działa więc będę musiał sobie odpuścić ;d Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się