Консоль в С++

  • Для просмотра чата и остального функционала вам нужно авторизоваться или пройти регистрацию!

MiXaiLL76

Админ, кодер
Original poster
Администратор
Май 14, 2013
452
68
796
Может кому и пригодиться это:
Класс консоли и она сама.

Код:
class Console{
public:
	char* Rus(const char* text) {
		char bufRus[256];
		CharToOem(text, bufRus);
		return bufRus;
	}
	void WConsole()
	{
		HANDLE hConsole;  _CONSOLE_SCREEN_BUFFER_INFO ConsoleScreenBufferInfo;

		if (AllocConsole())
		{
			HANDLE Out = GetStdHandle(STD_OUTPUT_HANDLE);
			hConsole = CreateConsoleScreenBuffer(GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, 0, CONSOLE_TEXTMODE_BUFFER, 0);
			GetConsoleScreenBufferInfo(hConsole, &ConsoleScreenBufferInfo);
	               //SetConsoleTextAttribute(hConsole,FOREGROUND_GREEN|BACKGROUND_BLUE);//можно настроить цвета
			SetConsoleTitle(Rus("HACK by MiXaiLL76"));//заголовок окна консоли
		}

	}
	void Refresh(){
		system("cls");
	}
	void PrintC(const char *Format, ...)
	{
		HANDLE Output = GetStdHandle(STD_OUTPUT_HANDLE);
		// char *text = "It's my HACK! MiXaiLL76";
		char Buffer[1024] = { '\0' };
		va_list va_alist;
		va_start(va_alist, Format);
		vsprintf_s(Buffer, Format, va_alist);
		va_end(va_alist);

		DWORD size = strlen(Buffer);
		DWORD dw = size;

		WriteConsole(Output, Rus(Buffer), size, &dw, NULL);
	}
};

Объявление в самом чите как:
Код:
Console Con;
Con.WConsole();
Con.PrintC("Hello World \n");
int this = 3523532;
Con.PrintC("this %d\n",this);

Для очистки экрана используйте функцию: Con.Refresh();
 
  • Like
Реакции: >DENIS<
Сверху Снизу