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

[C++] Proszę O Pomoc


Rekomendowane odpowiedzi

Opublikowano

Witam, piszę program w c++ który ma wciskać przyciski w zminimalizowanym oknie co pewien czas. Jak narazie zrobiłem tylko aby sprawdzał czy jest aktywne to okno, i gdy chcę aby wprowadzał znaki do notatnika, to w zminimalizowanym oknie notatnika nic się nie dzieje. Jednak gdy przywrócę okno notatnika na pierwszy plan, to znaki pojawiają się w notatniku. Mam nadzieję, że znajdzie się osoba chętna mi pomóc :)

 

Z góry Thx.

Opublikowano

Funkcja keybd_event wysyła tylko do aktywnego okna 'naciśnięte' guziki. Spróbuj z SendMessage

Opublikowano
#include <stdio.h>
#include <windows.h>

void findAndHide( void ) {


   HWND window;
   window = FindWindow( "notepad",0 ); 

   if( window == NULL ) puts( "Nie znaleziono okna notatnika[!]\n" ); 
   else 
   puts("znaleziono okno notatnika\n");
   Sleep(3000);
   keybd_event('K', 0, 0, 0);





   //
}

int main( void ) {



   findAndHide();
   system( "pause" );
}

Opublikowano

void findAndHide( void ) 
{
   HWND window;
HWND current;
   window = FindWindow( "notepad",0 ); 

   if( window == NULL ) puts( "Nie znaleziono okna notatnika[!]\n" ); 
   else 
   puts("znaleziono okno notatnika\n");
current = GetForegroundWindow();
   Sleep(3000);

SetForegroundWindow( window );
   keybd_event('K', 0, 0, 0);
SetForegroundWindow( current );
}

 

Śmiga xD

Opublikowano

Niby pisze w notatniku, lecz tylko gdy notatnik jest przykryty jakimś oknem lub jest na wierzchu, nie pisze gdy jest zminimalizowany. I chciałbym również, aby podczas wciskania przycisków okno notatnika nie przechodziło na pierwszy plan, lecz żeby było ciągle zminimalizowane.

Opublikowano

Przeszukałem google jeszcze pod SendMessage ale jakoś mi nie chce zadziałać ta funkcja.. Jak ktoś pyta o to samo to temat jest bez odpowiedzi.. o.O Jeszcze popytam

Opublikowano

No to ja czekam :) I dzięki, że się tak angażujesz :D

Jeśli znajdziesz rozwiązanie, to oczywiście dostaniesz nagrodę :]

Sam też szukam, lecz jakoś mi to nie wychodzi :P

Opublikowano

No i niestety nam to nie wyjdzie

Notka z MSDN

 

Note: Because there is no managed method to activate another application, you can either use this class within the current application or use native Windows methods, such as FindWindow and SetForegroundWindow, to force focus on other applications.

 

No czyli robisz tak jak napisałem wcześniej, albo używasz tego tylko w Twojej aplikacji :mellow:

 

Powiedz co chcesz dokładnie zrobić, może da się inaczej ;)

Opublikowano

Ma to być bot, będzie wciskał przyciski ctrl+h w oknie metina. Wszystko już zrobiłem, został mi tylko ten problem :/

Opublikowano

No to trzeba było od razu tak mówić ^^ Napisz .dll'ke, którą injectniesz potem do metina i wtedy bez problemu możemy używać funkcji keybd_event ;)

Opublikowano

No to chyba z tego bota nic nie będzie :( DLL'ek nie umiem jeszcze robić :/ I póki co nie mam czasu się tego uczyć :(

Chyba, że znalazła by się osoba chętna do zrobienia dll'ki :)

Opublikowano

th3b4ku, nie wrzucaj czegoś o czym nie masz pojęcia <_<

 

pisany na szybko w notatniku :P


#include <windows.h> 


bool isOn = false;

void start()
{
for(;;Sleep(100))
{
	if( isOn )
	{
		keybd_event( VK_LCONTROL, 0, 0, 0 );
		keybd_event( 0x68, 0, 0, 0 );
		keybd_event( 0x68, 0, KEYEVENTF_KEYUP, 0 );
		keybd_event( VK_LCONTROL, 0, KEYEVENTF_KEYUP, 0 ); 
	}
if(GetAsyncKeyState(VK_F12)&1) // przełącznik on/off
	isOn = !isOn;
}

}




BOOL WINAPI DllMain(HINSTANCE hInstDll, DWORD dwReason, LPVOID lpReserved) 
{ 
       switch(dwReason) 
       { 
               case DLL_PROCESS_ATTACH: 
  			CreateThread(0,0,(LPTHREAD_START_ROUTINE)start,0,0,0); // tworzenie nowego wątku
                       break; 
               case DLL_PROCESS_DETACH: 

                       break; 
       } 
       return TRUE; 
}

 

loader możesz pobrać z jednego z moich haxów zmienić nazwe dll na nazwę loadera i odpalić :)

Opublikowano

mógłbyś trochę jaśniej powiedzieć co mam zrobić? ja w temacie dll niewiele wiem, i nie wiem co zrobić z tym loaderem i kodem który mi wrzuciłeś.

Ten kod to plik dllmain ? czy główny plik programu. załączam tutaj jeszcze cały kod programu, gdyż trochę w nim pozmieniałem.

 

http://wklej.org/id/378803/

Opublikowano

@Zapalka. tak to jest plik dllmain. w opcjach projektu zaznaczasz dll i wklejasz ten kod. Jak skompilujesz to musisz tą dll załadować do metina, ten mój loader właśnie to zrobi ( dajesz go do folderu z dll i nazywasz go tak jak dll i odpalasz, pokazujesz metin.exe albo inny plik startowy metina, nie wiem nie gram w to. ) na F12 włączasz / wyłączasz naciskanie ctrl+h :) Dla pewności że dll właściwie się wstrzyknie do procesu możesz dodać w DLL_PROCESS_ATTACH

MessageBoxA(0, "Metin Bot", "Bot", 0); // jak się nie pojawi to coś popsułeś

 

system("title Metin2Bot"); --> SetConsoleTitleA( "Metin2Bot" );

 

@th3b4ku nie mam ochoty się z Tobą kłócić, wrzuciłeś link do dll injectora, co jest zupełnie czymś innym niż dll...

Opublikowano

niestety nie działa :/ myślę, że to przez to że metina włącza się przez metin2.exe, lecz gdy gra się uruchomi to ona korzysta już z procesu metin2client.bin a w tym programie można wybrać tylko plik .exe

Może macie jakiegoś innego injectora ?

Opublikowano

otworzyłem przez tego winjecta, próbowałem przy metinie i przy notatniku i nic :/

Tak jest w Winject:

beztytuudh.png

Opublikowano

pisze że się wstrzyknięcie udało, więc masz coś źle w DllMain.

 


bool __stdcall DllMain(HINSTANCE hInst, DWORD dwReason, LPVOID pvReserved)
{
if(dwReason == DLL_PROCESS_ATTACH)
{
	MessageBoxA(0,"hello","x",0);
}
return true;
}

 

jeśli się msgbox nie pojawi to masz duży problem..

Zarchiwizowany

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

×
×
  • Dodaj nową pozycję...