Tasker w oknie

0

Witam, otóż chciałbym zrobić taki mini program który będzie klikał F7 > (1s) > F7 > (1s) > F4 i tak w kółko. Wiem że można takie coś zrobić taskerem ale mi zależy żeby to działało w tle, żeby mógł coś robić na kompie a nie mieć to okno ciągle otwarte. Dowiedziałem się na razie jedynie że potrzebuję zrobić uchwyt okna. Prosiłbym o jakieś wskazówki. A i w jakim języku najlepiej to napisać.

0

w jakim języku najlepiej to napisać

Język to jedynie narzędzie - nie ma znaczenia.
Może być Lazarus/Delphi, C++ (...).

0

"Najlepiej" w sensie najłatwiej...

1

c/c++ 1 funkcja + 1 petla

0

Ale wy się lubicie drażnić. Dobrze wiecie że takie odpowiedzi w niczym mi nie pomogą, ja was nie rozumiem. Skoro to na prawdę jest jedna funkcja to dlaczego do jasnej ciasnej nie podpowiesz jaka?!

3

Dlaczego? Bo nie lubie lenistwa. Na tym forum tylko znajdziesz kilkadziesiat tematow odpowiadajacych na to pytanie wraz z przykladowym kodem. W google znajdziesz kilka tysiecy stron odpowiadajacych na to pytanie i wiele innych. Wystarczy troche wlasnego wysilku, zamiast zadawac w kolko po milion razy te same pytania.

Naucz sie jednej podstawowej rzeczy, ktora wg mnie kazdy programista powinien potrafic. Najpierw research i szukanie odpowiedzi, potem jesli nigdzie nie znajdzie sie takiej proszenie innych o pomoc pokazujac jednoczesnie, ze cos probowalo sie samemu zrobic.

0

Szukałem, dużo szukałem, ale nic nie zrozumiałem... Na razie wiem jedynie że do wciskania klawiszy muszę użyć keybd_event a z tym uchwytem szukałem już łącznie z 20 h ( od paru tygodni mnie to męczy ) i wciąż nie rozwiązałem i dopiero teraz napisałem...

3

Jakbyś pomyślał i poszukał skutecznie to byś dawno już znalazł. To żaden problem. Trzeba tylko chcieć, a nie narzekać "e nie podali mi gotowego kodu, nie skompilowali go jeszcze bezczelenie za mnie, a przecież jak podadzą nawet gotowca to ja i tak z niego nie będe umiał skorzystąć i zadam dodatkowych 965885103 - pytań zamiast po prostu pogooglować".

Przykro mi, ale tak widzę - Twój tok myślenia i postępowania. Jeżeli chcesz konkretów to zaintersuj się programem z językiem skryptowym AutoHotKey. Posiada on też narzędzia do nagrywania poleceń, jak przemieszczanie myszki, aktywowanie okien czy naciskanie klawiszy i odstępy między tymi czynnościami. Także do tak prostego zadania w ogóle nie trzeba znać składni języka skryptów *.ahk. A i w razie czego posiada on bogatą dokumentację, oficjalne forum supportu i wiele przykładów zawartych na nim.

Natomiast ja osobiście zakodował bym to w Delphi albo innym języku, który pozwoli skompilowac kod pod Windowsem i używać funkcji WinAPI. Ponieważ do takich celów jak symulowanie naciskania klawiszy (lub klikania myszką) służy funkcja SendInput. Trzeba sobie o niej na MSDN'ie doczytać. Tylko trzeba pamiętać, że dla pomyślnego zasymulowania pewnych klawiszy, jak na przykład VK_CONTROL potrzebna jest dodatkowa flaga, ustawiona w dwFlags na KEYEVENTF_EXTENDEDKEY. Natomiast do odczekiwania jest mnóśtwo mechanizmów, chyba większośc języków programowania posiada coś w stylu Sleep.

Także googluj, kombinuj sam i myśl, a dopiero później pytaj. Wylewanie żali, że nie podano Tobie gotowca, na pewno nie sprawi, że program się napisze. Swoją drogą przez 20 godzin można było spokojnie nauczyć się podstaw programowania w jakims języku, wcześniej pobierając kursy i kompilator z jakimś IDE, w którym dawno byś to napisał SAM.

0

No zrobiłem sobie ten skrypcik w AutoHotKey :

Loop,
{
Sleep 800
Send {F7}
Sleep 800
Send {F7}
Sleep 800
Send {F4}
}

Ale podczas używania tego skryptu muszę mieć okno gry ( bo chce aby tam to działało ) zawsze na wierzchu. A więc jak zrobić żeby to sobie działało jakoś tylko w w tym jednym oknie (gry). A ja w tym czasie mógłbym robić coś innego... (np. uczyć się jakiegoś języka :D)

0

Nie jest to według mnie możliwe, ponieważ SendInput, a z tego podejrzewam kiedyś przeglądając źródła w C++ AutoHotKey'a - z tej funkcji korzysta - symuluje użycie klawiatury. Można tylko jeszcze spróbować, czy okno gry nie reaguje na komunikaty WM_KEYDOWN i próbować je wysłać do okna gry przez funkcje PostMessage albo SendMessage. Jednak większość gier, szczególnie pełnoekranowe działające pod DirectX albo SDL czy innymi silnikami, mają tak zrobioną obsługę klawiatury, że łatwo tego nie ogarniesz. Ja przynajmniej nie wiem do końca w jaki sposób zrobić to skutecznie. Może ktoś inny coś jeszcze Tobie tutaj doradzi. Nie ma tak lekko, wszyscy by chcieli żeby trzema linijkami kodu zrobić super hiper narzędzie, które za nich będzie odpisywać na e-maile i robić wszystko z nich, a oni sobie będą na komputerze robić coś innego w tym czasie. Tak to nie działa. Jeżeli i tak już oszukujesz w grze, przez takie automatyzowanie czynności, to zostaw komputer włączony na noc albo kiedy Ciebie nie ma w domu i nie musisz go używac, wyłącz monutor, a program niech sobie działa i symuluje naciskanie klawiszy czy inne rzeczy.

0

SendMessage bedzie dzialal o ile okno nie bedzie zminimalizowane a w tle. Mozna ogladac film czy robic cos innego a input bedzie przesylany.

0

Akurat gra ta nie jest pełnoekranowa. Jest to gra w oknie, 2d. Może by tak "wejść" w proces tej gry i tam to robić?
Znalazłem takiego tuta który mniej-więcej pokazuje jaki efekt chciałbym osiągnąć ale jest jeden problem... Linki z wklej.org w tym temacie nie działają. Jakby ktoś mógł mi napisać co tam mogło być ( domyśla się ) to bardzo bym prosił.
Link : http://www.botting.pl/showthread.php/pisanie-bota-do-tibii-delphi-8838.html?s=7858b62e8bccdcfbe0cbd688dbacfaeb&

0

@Krycho: nieprawda, przy użyciu PostMessage i wysyłaniu prawidłowego WParam oraz LParam, jakich oczekuje aplikacja - wysłanie WM_KEYDOWN zadziała (sprawdziłem). I to nawet przy zminimalizowanym oknie. Chyba, że sama gra sprawdza w jakim stanie jest jej okno. Ale dla typowej aplikacji okienkowej nie ma to znaczenia, a z grami może faktycznie różnie być. Ja bym raczej obstawial, że w przypadku wielu gier i tak będzie z tym problem. Jednak należy spróbowac, no i oczywiście pamętać o wysyłaniu również odpowiedniego WM_KEYUP.

0

A co do tego tuta, to może domyślacie się co tam może być? Bo nie chciałbym już spamować tymi tematami : http://www.botting.pl/showthread.php/pisanie-bota-do-tibii-delphi-8838.html?s=7858b62e8bccdcfbe0cbd688dbacfaeb& Chodzi mi o te wszystkie linki z wklej.org

0

Za pewne odpowiedni kod, jak wynika z treści tutoriala. Nie gram w tę "gimbusowo-trendy" "grę", bo praktycznie w nic nie gram. Szkoda mi na to czasu, a i nie chce mi się (no chyba, że akurat coś tam dłubie w TASMie i z chęci wiedzy oraz niedziałającego z wersją 1.3 gry rozwiązania, poprawiam old-skool DOS TSR'a do "Polanie" - męcząc o to pytaniami na forum ;)). Jednak zanim pomęczyłem to pokomibnowałem ile mogłem samodzielnie. Ale ja nie o tym... Także...

Jeśli się nie mylę, to oszukiwanie botami w tibii oraz innych typów tego grach nie tylko jest nie fair, ale i łamie regulamin rozgrywek online, na który godzisz się dołączając do gry. A to, że w większości przypadków gimbusiarnia kleci jakiś, na ogół totalnie - z tego co widziałem kiedyś - niedopracowany i bałaganiarski kod, typu boty/hacki czy jakiś malware wyciągający hasła to inna sprawa. Taka rzeczywistość, ludzie niestety, szczególnie młodzi chcą cwaniakować.

Także jeżeli masz zamiar oszukiwać akurat w tej grze, to spróbuj szczęścia na forach jej poświęconych. A i dalsze pytania o oszukiwanie w tej grze, uważam za bezsadadne. I już "nagrodziłbym" wątek przeniesieniem do Kosza, ale niestety - nie przeczuwając "co się święci" - w innym wątku napisanym dzisiaj przez kogoś z pytaniem o symulowanie naciskania klawiszy, podałem odnośnik do tego wątku. Po to żeby się nie powtarzać, poza tym co tutaj już napisałem.

0

Chciałbym tylko zauważyć że tibia nie jest "gimbusowo-trenty" "grą". Tibia jest klasykiem swojego gatunku a to że grają w nią TEŻ "gimbusy" to nie znaczy że należy wszystkich wrzucać do jednego worka. Członkowie jednej z gildi w tibii :

user image

Czy według Ciebie, wyglądają oni na gimbusów? A co do oszukiwania w grze to chcę oszukiwać gdyż nie mam zbytnio czasu na grę a taki "bocik" nie wymuszałby na mnie siedzenie przed tibią 15 h i klikanie trzech przycisków.

0

Z tibia jest o tyle latwo ze nia ma zadnych zabezpieczen wiec mozna ja wzdluz i wszerz debuggowac. Podpiac sie pod funkcje i napisac cos porzadniejszego. No ale klikacz to zrobi w zasadzie kazdy, nawet kto nie mial za bardzo stycznosci z programowaniem, a potrafi myslec i czytac. To jest akurat kilka/-dziesiat linii kodu na dobra sprawe.

0

@Sevox: wiem, że nie można wrzucać wszystkich do jednego "worka", ale piszę na podstawie swoich doświadczeń. Wystarczy poszukać nawet tutaj na forum, pewnie ostały się jeszcze jakieś temat, gdzie domorosły h4x0r chcial mieć obce konta w tibii, a nie miał pojęcia o podstawach pisania programów, protokołach sieciowych, dosadnie pisząc nie wiedział nic, a chciał zrobić wszystko.

I pewnie jest tak jak @Krycho napisal. Niezabezpieczoną grę można spróbować cheatować. Można zobaczyć robiąć sobie dllkę do zinjectowania w proces albo debugując jakie komunikaty (jeśli nie WM_KEYDOWN) są używane do przechwytywania klawiszy i spróbowac napisać coś co sobie będzie działalo na takiej zasadzie, że odpalasz, a to już cheatuje i mozna w tym czasie robić przy komputerze coś innego. Zresztą trochę dziwne podejście, nie mam czasu grać, ale niech się oszukuje.

Btw, widziałem mnóstwo kodów na sieci do odczytu pamięci procesu tibii i jakiś tam kombinacji, więc może i da się zapisać w proces stany klawiszy. A jak nie ogarniasz tematu sam, to zostan przy rozwiązaniu z AutoHotKey tylko zostawiaj go sobie na włączonym komputerze kiedy z niego nie korzystasz. Innego rozwiązania bez samodzielnej chęci do szukania oraz kombinowania z innymi rozwiązaniami - raczej nie widzę.

0

W zasadzie z debugowaniem mialem na mysli podpiac sie pod funkcje, tj. zalozyc hooka. Zazwyczaj jakies send/recv i wymieniac dane bezposrednio z serwerem zamiast bawic sie w symulacje nacisniec, bo ona i tak przechodzi przez funkcje ktora musi wyslac zadanie wykonania akcji do serwera. Jak nie ma zabezpieczen to mozna spokojnie injectowac dll w proces gryi sie bawic. Ja niestety sie mecze na razie z hackshieldem ;) Tutaj jest juz wiecej zabawy.

1 użytkowników online, w tym zalogowanych: 0, gości: 1