C++ prosty bocik [Send Message]

0

Witam. pisze prosty kod ulatwiajacy gre na serwerach minecraft.
Mam problem poniewaz jest problem z wysylaniem klawiszy + po skonczniu petli juz ich nie wykonuje.
Jest to moj 1 program, dlatego moga byc bledy i prosze o ich poprawienie

#include <iostream> 
#include <windows.h> 
  
using namespace std;  
int a;
int wybor;
void czas()
{

	system( "cls" ); //czyszczenie ekranu
	cout << ""<< endl;
	cout << ""<< endl;
	cout << "            +==================[KONFIGURACJA]==================+"<< endl;
	cout << "            |                                                  |"<< endl;
	cout << "            |       Program zacznie pracowac za 10 sekund,     |"<< endl;
	cout << "            |             po podaniu czasu dzialania.          |"<< endl;	
	cout << "            |                                                  |"<< endl;
	cout << "            |              1UZYCIE = okolo 1minuta             |"<< endl;
	cout << "            |                                                  |"<< endl;
	cout << "            +=======================[XX]=======================+"<< endl;
	cout << ""<< endl;
	cout << "                      Twoja wybrana ilosc uzyc to:   ";
	cin>> a;
	Sleep (3000);
	
}
int main() 
{ 
    HWND hwnd;
    hwnd = FindWindow (NULL, "Minecraft 1.7.X - Flare 2.5"); 
    if (!hwnd) 
    { 
        cout << "Program Minecraft nie zostal znaleziony." << endl; 
        cout << "Nie wiesz jak poprawnie ustawic program?" << endl;
        cout << "Wejdzi w plik POMOC!" << endl;
    } 
        else 
    { 
        cout << "MINECRAFT ZOSTAL ZNALEZIONY!" << endl; 
        Sleep(2000);
  		int i = 100; 
	    while (i > 0) 
	    { 
	    	system( "cls" );
			cout << ""<< endl;
			cout << ""<< endl;
			cout << "            +======================[MENU]======================+"<< endl;
			cout << "            |                                                  |"<< endl;
			cout << "            |                                                  |"<< endl;
			cout << "            |              [1] Kopanie do przodu               |"<< endl;
			cout << "            |              [2] Kopanie na 3 generatory         |"<< endl;
			cout << "            |              [3] AFK Bot                         |"<< endl;
			cout << "            |              [4] Double klick                    |"<< endl;
			cout << "            |              [5] Informacje o wlascicielu        |"<< endl;
			cout << "            |              [6] Koniec                          |"<< endl;
			cout << "            |                                                  |"<< endl;
			cout << "            |                                                  |"<< endl;
			cout << "            +======================[MENU]======================+"<< endl;
			cout << endl;
			cout << "				Wybierz cyfre od 1 do 6" << endl;
			cout << "				Twoj wybor to: ";
			cin >> wybor;
			switch (wybor)
			{
				
				case 1:
					
					czas();
					while(a>0)
					{
						SendMessage(hwnd, WM_LBUTTONDOWN, 0, 1);
						Sleep(30000);
						SendMessage(hwnd, WM_LBUTTONUP, 0, 1); 
						SendMessage(hwnd, WM_LBUTTONDOWN, 0, 1);
						Sleep(30000);
						a--;
					}
					SendMessage(hwnd, WM_LBUTTONUP, 0, 1); 
					break;
					
				case 2:
				
					czas();
					while(a>0)
					{
				        //PostMessage(hwnd, WM_KEYUP, 0x43, 0);
						PostMessage(hwnd, WM_KEYDOWN, 0x41, 0 ); 
						Sleep(600);
						PostMessage(hwnd, WM_KEYUP, 0x41, 0 ); 
						Sleep(1);
						PostMessage(hwnd, WM_KEYDOWN, 0x44, 0 );
						Sleep(600);
						PostMessage(hwnd, WM_KEYUP, 0x44, 0 );  
						a--;
						cout << ""<< endl;
						cout << "			Do konca pozostalo ok. ";
						cout << a;
					}
					SendMessage(hwnd, WM_LBUTTONUP, 0, 1); 
					break;
				
				
				
				
				
				
			 } 
			
  	    } 
    } 

  
    return 0; 
} 
0

napisz co nie tak, anie dajeszlinka.. przeczytanie go mi nic nie pomoglo

0
Mrenomek napisał(a):

napisz co nie tak, anie dajeszlinka.. przeczytanie go mi nic nie pomoglo

zacytuje zeby zrobic mirror w razie czego

UWIERZ MI
nikt Ci juz nie pomoze z takim nastawieniem
hf

0

to ok. preczytalem to ale nigdzie NIE MA nic : zebym mogl przytrzymac dany klawisz.
bo to co jest to tylko przycisniecia. a mi chodzi zeby kliknal i trzymal 600milisenkund.

Cos takiego tylko ze w SendMessage lub PostMessage:

	mouse_event( MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0 ); 
	Sleep(1);
	keybd_event(0x44, 0, 0, 0);                 //wciskam D
	Sleep(600);
	keybd_event(0x44, 0, KEYEVENTF_KEYUP, 0);   //puszczam D
	Sleep(1);
	keybd_event(0x41, 0, 0, 0);                 //wciskam A
	Sleep(600);
	keybd_event(0x41, 0, KEYEVENTF_KEYUP, 0);   //puszczam A
} 
0

Zdarzenia z klawiatury wysyła się przez SendInput.

SendMessage i PostMessage nie działają w tym przypadku prawidłowo.

W SendInput masz możliwość zarówno naciśnięcia jak i puszczenia klawisza.

0

tak, wes powiedz co mam zrobic. bo z tego linka co dales, nic nie znalazlem.
Podaj przykla wcisniecia (trzymajac caly czas)
i puszczenia i postaram sie sam dojsc.
Bo w taki sposob nic nie wykombinuje a tu zrobi sie spam.

0

z tego przykladu prawie nic nie nalazlem . co musze zrobic zeby to poprawnie napisac. moze poradnik po PL jakis :P

0

ref

0

Jedna prosta zasada, mianowicie na forum nie dajemy gotowców, lecz pomagamy rozwiązać błąd/problem. Jeśli chcesz komuś pomóc daj mu wędkę a nie rybe. ;)

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