Skocz do zawartości
  • 👋 Witaj na MPCForum!

    Przeglądasz forum jako gość, co oznacza, że wiele świetnych funkcji jest jeszcze przed Tobą! 😎

    • Pełny dostęp do działów i ukrytych treści
    • Możliwość pisania i odpowiadania w tematach
    • System prywatnych wiadomości
    • Zbieranie reputacji i rozwijanie swojego profilu
    • Członkostwo w jednej z największych społeczności graczy

    👉 Dołączenie zajmie Ci mniej niż minutę – a zyskasz znacznie więcej!

    Zarejestruj się teraz

Wewnętrzne makra [?]


fkiwan

Rekomendowane odpowiedzi

Opublikowano

Cześć, tak jak w temacie,

szukam czegoś na kształt MAKR, ale wewnętrznych do metina?

Tzn, robie makra na klawiaturze (spacja, 1, 2) i wszystko działa super, niestety Metin musi byc na wierzchu (kliknięty). 

Czy zna ktoś program/skrypt, który umożliwia działanie podobnego makra ale wewnątrz metina? (nie wymaga wcisniętego metina, co daje możliwość odpalenia kilku kont 😆 )

 

 

Dzięęęęęęki ! 

Opublikowano

Podłącz się do procesu z poziomu kodu najlepiej w c++ i wyślij odpowiedni klawisz

 

hThread = GetWindowThreadProcessId(hwnd, &dwPID);  
if (dwPID == dwProcessID && hThread!= NULL ) {
   PostThreadMessage( hThread, WM_KEYDOWN, 'A', 1);
}

Tutaj przykład jak "wcisnąć" klawisz w obrębie danego procesu, gdzie hwnd to handler procesu i warunek musi być taki, że proces do którego potrzebujesz sie dobrać musi być na tym samym użykowniku inaczej funkcja zwróci ERROR_INVALID_THREAD_ID.

W internecie znajdziesz mase przykładów jak podłączyć się do procesu, reszte to myślę, że sam sobie ogarniesz.

Możesz też z poziomu kodu pythona dopisać sobie taką funkcje, żeby w pętli klikało ci te klawisze wewnątrz metina.
(Ale przyznam szczerze, że nie bawiłem się w to i skorzystałbym z pierwszej obcji, mało jest informacji na temat różnych rozszerzeń samego klienta gry w pythonie, przynajmniej ja nie natknąłem się na nic ciekawego)

Opublikowano
25 minut temu, _sectasy napisał:

Podłącz się do procesu z poziomu kodu najlepiej w c++ i wyślij odpowiedni klawisz

 


hThread = GetWindowThreadProcessId(hwnd, &dwPID);  
if (dwPID == dwProcessID && hThread!= NULL ) {
   PostThreadMessage( hThread, WM_KEYDOWN, 'A', 1);
}

Tutaj przykład jak "wcisnąć" klawisz w obrębie danego procesu, gdzie hwnd to handler procesu i warunek musi być taki, że proces do którego potrzebujesz sie dobrać musi być na tym samym użykowniku inaczej funkcja zwróci ERROR_INVALID_THREAD_ID.

W internecie znajdziesz mase przykładów jak podłączyć się do procesu, reszte to myślę, że sam sobie ogarniesz.

Możesz też z poziomu kodu pythona dopisać sobie taką funkcje, żeby w pętli klikało ci te klawisze wewnątrz metina.
(Ale przyznam szczerze, że nie bawiłem się w to i skorzystałbym z pierwszej obcji, mało jest informacji na temat różnych rozszerzeń samego klienta gry w pythonie, przynajmniej ja nie natknąłem się na nic ciekawego)

A jakies sugestie jak podłączyć się z procesem? ^^

Opublikowano

Aby podłączyć się do procesu w pierwszym momencie należy zainicjować  handler.

Tutaj mały przykład na podłączenie się do procesu windowsowego notatnika i wysłanie do niego klawisza.

HWND notepad, edit;

notepad = FindWindow(_T("Notepad"), NULL);
edit = FindWindowEx(notepad, NULL, _T("Edit"), NULL);

DWORD dwPID = 0;
hThread = GetWindowThreadProcessId(edit, &dwPID);  
if (dwPID == dwProcessID && hThread!= NULL ) {
   PostThreadMessage(hThread, WM_KEYDOWN, 'A', 1);
}

 

Opublikowano
7 godzin temu, _sectasy napisał:

Aby podłączyć się do procesu w pierwszym momencie należy zainicjować  handler.

Tutaj mały przykład na podłączenie się do procesu windowsowego notatnika i wysłanie do niego klawisza.


HWND notepad, edit;

notepad = FindWindow(_T("Notepad"), NULL);
edit = FindWindowEx(notepad, NULL, _T("Edit"), NULL);

DWORD dwPID = 0;
hThread = GetWindowThreadProcessId(edit, &dwPID);  
if (dwPID == dwProcessID && hThread!= NULL ) {
   PostThreadMessage(hThread, WM_KEYDOWN, 'A', 1);
}

 

A jeśli już zainicjuje, to nie będzie tak, że windows zrobi mi focus na tą apke? (wyciągnie ją i będzie na wierzchu)

Opublikowano
Dnia 20.11.2020 o 16:09, fkiwan napisał:

A jeśli już zainicjuje, to nie będzie tak, że windows zrobi mi focus na tą apke? (wyciągnie ją i będzie na wierzchu)

Nie, jest to funkcja z WinAPI, działa ona na niższym poziomie.

Zarchiwizowany

Ten temat przebywa obecnie w archiwum. Dodawanie nowych odpowiedzi zostało zablokowane.

×
×
  • Dodaj nową pozycję...