Nagrywanie i odtwarzanie zdarzeń myszki i klawiatury.

0

Witam wszystkich serdecznie,

chciałbym napisać aplikację, która będzie rejestrować ruchy myszy (gdzieś to zapisywać) a potem odtwarzać. Wiem, że w internecie pełno podobnych aplikacji, ale chciałem napisać ją sam dla siebie i dorzucić np. opcję zapisywania scenariusza, czy coś na podobę.

Widzę to tak:

  • po wciśnięciu przycisku "nagrywaj" aplikacja minimalizuje się i nagrywa ruchy myszki - poruszanie i klikanie - oraz wciśnięcia przycisków klawiatury;
  • po wciśnięciu przycisku "stop" (albo jakiegoś konkretnego przycisku z klawiatury) aplikacja przestaje nagrywać i maksymalizuje się,
  • po wciśnięciu przycisku "play" aplikacja powtarza wszystkie wykonane ruchy;
  • opcjonalnie chciałbym dodać przycisk "zapisz scenariusz" i "załaduj scenariusz", które by takie sekwencje gdzieś zapisywały, a potem dawały możliwość odczytania.

Macie jakieś sugestie? Przyznam szczerze, że nie jestem super programistą, wiem jak wygląda obsługa myszy i klawiatury w c++, ale takie nagrywanie niestety nie bardzo.
Liczę na pomoc, podpowiedzi i w ogóle :).

0

Przekonaj nas, że nie chcesz pisać keyloggera (:

EDIT
Na zachętę tutaj masz nawet z kodem jak zrobić handlowanie myszki pod windowsem
http://stackoverflow.com/a/10817983

0

Przyznam szczerze, że nie to mi w głowie. Chcę zrobić appkę, która będzie pomagała obsługiwać inną aplikację.

Jak ją zrobię, to mogę zaprezentować efekt końcowy. Aczkolwiek, to raczej słaby argument do przekonywania.

Serio nie można liczyć nawet na wskazówki od nikogo ? :<

0

Ja znam sposób, w który mógłbyś to zrobić, ale nie będę nikomu pomagać w szpiegowaniu, więc ten sposób dalej zostanie ściśle tajny.

0

O czym wy mówicie? Kolega pisze bota do tibii a nie że kogoś szpieguje. Anyway dla windowsa hooki są opisane tutaj:
https://msdn.microsoft.com/en-us/library/ms644959(VS.85).aspx
W wersji cross-platform chyba czegoś takiego nie ma, o ile nie chcesz tego robić w oparciu o jakąś bibliotekę do grafiki jak opengl

0

Żaden bot, żaden keyloger... po prostu appka, która odtwarza ruchy myszy i klawiatury.

Prosty interfejs typu:

Start nagrywania Stop nagrywania

                     Zapisz scenariusz

                    Wczytaj scenariusz

Start odtwarzania Stop odtwarzania

Dzięki, poczytam, może coś wyrzeźbię ;)

0

@stryku @X-on @Shalom
Momentalnie skojarzył mi się genialnie prześmiewczy komentarz nt. polskich forów z wykopu: http://www.wykop.pl/link/2725429/wykrywacz-metalu-waffen-ss-slady-wojny-na-froncie-wschodnim/#comment-30555975
Forum jest od pomocy, czyż nie? Istnieją dziesiątki keyloggerów i appek do makr, więc gdyby gość chciał coś konkretnego osiągnąć, to raczej sięgnąłby po gotowe rozwiązanie zamiast męczyć się samemu. A nawet jeśli tą appką chce shackować Pentagon emaksem przez sendmejl, to po odbiciu się tutaj od ściany i tak sięgnie po gotowca. A skoro zadaje tak podstawowe pytania to pomoc mu nie grozi powstaniem drugiego Stuxnetu, upadkiem Internetu, głodem i halucynacjami. ;)

@averty90 - ogólnie powinieneś założyć jakieś globalne hooki na myszkę i klawiaturę. W momencie rozpoczęcia nagrywania ustawiasz timer i przy każdym zdarzeniu związanym z myszką/klawiaturą zapisujesz to wydarzenie do jakiejś kolejki wraz z czasem, który upłynął od momentu rozpoczęcia nagrywania. Ta kolejka to twoje nagrane makro. Przy odtwarzaniu tak samo uruchamiasz timer i w pętli pobierasz kolejne zdarzenia z kolejki - przy czym synchronizujesz czas z timera z czasem przypisanym do zdarzenia (jeśli jesteś w T+0.5s a następne zdarzenie jest dopiero przy T+0.8s - czekasz 0.3s). Zapisywanie/odczyt to po prostu serializacja tej kolejki do XML albo jakiegoś innego przyjemnego formatu.