Tasker w oknie

Sevox
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 9 lat
  • Postów:83
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ć.

Patryk27
Moderator
  • Rejestracja:ponad 17 lat
  • Ostatnio:ponad rok
  • Lokalizacja:Wrocław
  • Postów:13042
0

w jakim języku najlepiej to napisać

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


Sevox
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 9 lat
  • Postów:83
0

"Najlepiej" w sensie najłatwiej...

KR
  • Rejestracja:prawie 14 lat
  • Ostatnio:ponad 2 lata
  • Postów:353
1

c/c++ 1 funkcja + 1 petla

Sevox
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 9 lat
  • Postów:83
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?!

KR
  • Rejestracja:prawie 14 lat
  • Ostatnio:ponad 2 lata
  • Postów:353
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.

edytowany 1x, ostatnio: Krycho
Sevox
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 9 lat
  • Postów:83
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...

olesio
  • Rejestracja:prawie 17 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Szczecin
  • Postów:4191
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.


Pozdrawiam.
Sevox
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 9 lat
  • Postów:83
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)

edytowany 1x, ostatnio: Sevox
olesio
  • Rejestracja:prawie 17 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Szczecin
  • Postów:4191
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.


Pozdrawiam.
KR
  • Rejestracja:prawie 14 lat
  • Ostatnio:ponad 2 lata
  • Postów:353
0

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

Sevox
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 9 lat
  • Postów:83
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&

olesio
  • Rejestracja:prawie 17 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Szczecin
  • Postów:4191
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.


Pozdrawiam.
KR
Zalezy od aplikacji. Akurat przy grze w ktorej tego uzywalem okno musialo byc zmaksymalizowane bo kiedy gra zostala zminimalizowana zapewne proces przechodzil w stan wstrzymania. NtSuspendProcess. W innych moze to dzialac. No i przy SendMessage nie musialem uzywac WM_KEYUP a jedynie KEYDOWN zeby zasymulowac klikniecie jednorazowe.
Sevox
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 9 lat
  • Postów:83
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

olesio
  • Rejestracja:prawie 17 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Szczecin
  • Postów:4191
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.


Pozdrawiam.
edytowany 2x, ostatnio: olesio
Sevox
  • Rejestracja:ponad 12 lat
  • Ostatnio:ponad 9 lat
  • Postów:83
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.

babubabu
Gimbus to nie wiek a stan umysłu :D
KR
  • Rejestracja:prawie 14 lat
  • Ostatnio:ponad 2 lata
  • Postów:353
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.

olesio
  • Rejestracja:prawie 17 lat
  • Ostatnio:około 3 lata
  • Lokalizacja:Szczecin
  • Postów:4191
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ę.


Pozdrawiam.
edytowany 1x, ostatnio: olesio
KR
  • Rejestracja:prawie 14 lat
  • Ostatnio:ponad 2 lata
  • Postów:353
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.

olesio
Tak, masz rację. Jeżeli pakiety nie są szyfrowane, to można spróbować ogarnąc to hookiem. Są działające kody pod Delphi. Sam tutaj kiedyś postowałem rozwiązanie a'la prosty bloker stron www z listy w pliku. Tylko, że osobiście dla mnie okiełznanie protokołu HTTP jest banalne. A nie wiem jak to robi tibia, ale z ogarnięciem TCP może być problem kiedy dane nie są tekstem.
KR
Tekstem nie sa na 99.9% ;) Zazwyczaj pakiet ma swoj format. Naglowke + tresc. Naglowke okresla rodzaj pakietu np. ddd(3x dword). Zazwyczaj proste czynnosci typu pojawienie sie potwora na ekranie, sa prostym pakietem b(byte) np. 0x32 i tyle. Rozpoznanie tego nie jest trudne po napisaniu sniffera. Do tego nawet jesli pakiety sa szyfrowane to zakladajac hooka na funkcje bezposrednio w exeku gry, nie w bibliotece z ktorej jest importowana i tak otrzymamy juz odszyfrowane pakiety ;)
Kliknij, aby dodać treść...

Pomoc 1.18.8

Typografia

Edytor obsługuje składnie Markdown, w której pojedynczy akcent *kursywa* oraz _kursywa_ to pochylenie. Z kolei podwójny akcent **pogrubienie** oraz __pogrubienie__ to pogrubienie. Dodanie znaczników ~~strike~~ to przekreślenie.

Możesz dodać formatowanie komendami , , oraz .

Ponieważ dekoracja podkreślenia jest przeznaczona na linki, markdown nie zawiera specjalnej składni dla podkreślenia. Dlatego by dodać podkreślenie, użyj <u>underline</u>.

Komendy formatujące reagują na skróty klawiszowe: Ctrl+B, Ctrl+I, Ctrl+U oraz Ctrl+S.

Linki

By dodać link w edytorze użyj komendy lub użyj składni [title](link). URL umieszczony w linku lub nawet URL umieszczony bezpośrednio w tekście będzie aktywny i klikalny.

Jeżeli chcesz, możesz samodzielnie dodać link: <a href="link">title</a>.

Wewnętrzne odnośniki

Możesz umieścić odnośnik do wewnętrznej podstrony, używając następującej składni: [[Delphi/Kompendium]] lub [[Delphi/Kompendium|kliknij, aby przejść do kompendium]]. Odnośniki mogą prowadzić do Forum 4programmers.net lub np. do Kompendium.

Wspomnienia użytkowników

By wspomnieć użytkownika forum, wpisz w formularzu znak @. Zobaczysz okienko samouzupełniające nazwy użytkowników. Samouzupełnienie dobierze odpowiedni format wspomnienia, zależnie od tego czy w nazwie użytkownika znajduje się spacja.

Znaczniki HTML

Dozwolone jest używanie niektórych znaczników HTML: <a>, <b>, <i>, <kbd>, <del>, <strong>, <dfn>, <pre>, <blockquote>, <hr/>, <sub>, <sup> oraz <img/>.

Skróty klawiszowe

Dodaj kombinację klawiszy komendą notacji klawiszy lub skrótem klawiszowym Alt+K.

Reprezentuj kombinacje klawiszowe używając taga <kbd>. Oddziel od siebie klawisze znakiem plus, np <kbd>Alt+Tab</kbd>.

Indeks górny oraz dolny

Przykład: wpisując H<sub>2</sub>O i m<sup>2</sup> otrzymasz: H2O i m2.

Składnia Tex

By precyzyjnie wyrazić działanie matematyczne, użyj składni Tex.

<tex>arcctg(x) = argtan(\frac{1}{x}) = arcsin(\frac{1}{\sqrt{1+x^2}})</tex>

Kod źródłowy

Krótkie fragmenty kodu

Wszelkie jednolinijkowe instrukcje języka programowania powinny być zawarte pomiędzy obróconymi apostrofami: `kod instrukcji` lub ``console.log(`string`);``.

Kod wielolinijkowy

Dodaj fragment kodu komendą . Fragmenty kodu zajmujące całą lub więcej linijek powinny być umieszczone w wielolinijkowym fragmencie kodu. Znaczniki ``` lub ~~~ umożliwiają kolorowanie różnych języków programowania. Możemy nadać nazwę języka programowania używając auto-uzupełnienia, kod został pokolorowany używając konkretnych ustawień kolorowania składni:

```javascript
document.write('Hello World');
```

Możesz zaznaczyć również już wklejony kod w edytorze, i użyć komendy  by zamienić go w kod. Użyj kombinacji Ctrl+`, by dodać fragment kodu bez oznaczników języka.

Tabelki

Dodaj przykładową tabelkę używając komendy . Przykładowa tabelka składa się z dwóch kolumn, nagłówka i jednego wiersza.

Wygeneruj tabelkę na podstawie szablonu. Oddziel komórki separatorem ; lub |, a następnie zaznacz szablonu.

nazwisko;dziedzina;odkrycie
Pitagoras;mathematics;Pythagorean Theorem
Albert Einstein;physics;General Relativity
Marie Curie, Pierre Curie;chemistry;Radium, Polonium

Użyj komendy by zamienić zaznaczony szablon na tabelkę Markdown.

Lista uporządkowana i nieuporządkowana

Możliwe jest tworzenie listy numerowanych oraz wypunktowanych. Wystarczy, że pierwszym znakiem linii będzie * lub - dla listy nieuporządkowanej oraz 1. dla listy uporządkowanej.

Użyj komendy by dodać listę uporządkowaną.

1. Lista numerowana
2. Lista numerowana

Użyj komendy by dodać listę nieuporządkowaną.

* Lista wypunktowana
* Lista wypunktowana
** Lista wypunktowana (drugi poziom)

Składnia Markdown

Edytor obsługuje składnię Markdown, która składa się ze znaków specjalnych. Dostępne komendy, jak formatowanie , dodanie tabelki lub fragmentu kodu są w pewnym sensie świadome otaczającej jej składni, i postarają się unikać uszkodzenia jej.

Dla przykładu, używając tylko dostępnych komend, nie możemy dodać formatowania pogrubienia do kodu wielolinijkowego, albo dodać listy do tabelki - mogłoby to doprowadzić do uszkodzenia składni.

W pewnych odosobnionych przypadkach brak nowej linii przed elementami markdown również mógłby uszkodzić składnie, dlatego edytor dodaje brakujące nowe linie. Dla przykładu, dodanie formatowania pochylenia zaraz po tabelce, mogłoby zostać błędne zinterpretowane, więc edytor doda oddzielającą nową linię pomiędzy tabelką, a pochyleniem.

Skróty klawiszowe

Skróty formatujące, kiedy w edytorze znajduje się pojedynczy kursor, wstawiają sformatowany tekst przykładowy. Jeśli w edytorze znajduje się zaznaczenie (słowo, linijka, paragraf), wtedy zaznaczenie zostaje sformatowane.

  • Ctrl+B - dodaj pogrubienie lub pogrub zaznaczenie
  • Ctrl+I - dodaj pochylenie lub pochyl zaznaczenie
  • Ctrl+U - dodaj podkreślenie lub podkreśl zaznaczenie
  • Ctrl+S - dodaj przekreślenie lub przekreśl zaznaczenie

Notacja Klawiszy

  • Alt+K - dodaj notację klawiszy

Fragment kodu bez oznacznika

  • Alt+C - dodaj pusty fragment kodu

Skróty operujące na kodzie i linijkach:

  • Alt+L - zaznaczenie całej linii
  • Alt+, Alt+ - przeniesienie linijki w której znajduje się kursor w górę/dół.
  • Tab/⌘+] - dodaj wcięcie (wcięcie w prawo)
  • Shit+Tab/⌘+[ - usunięcie wcięcia (wycięcie w lewo)

Dodawanie postów:

  • Ctrl+Enter - dodaj post
  • ⌘+Enter - dodaj post (MacOS)