All
Компетентный
Как программно сменить шрифт в консоли?
Smitt&Wesson
Smitt&Wesson
Код:
#include
#include
#pragma hdrstop
#pragma argsused
using namespace std;
typedef BOOL (WINAPI *SETCONSOLEFONT)(HANDLE, DWORD); // прототип недокументированый функции
SETCONSOLEFONT SetConsoleFont;
Код:
int main(int argc, char* argv[])
{
HMODULE hmod = GetModuleHandleA("KERNEL32.DLL"); // функция здесь
SetConsoleFont =(SETCONSOLEFONT) GetProcAddress(hmod, "SetConsoleFont"); // берем ее адрес
if (!SetConsoleFont) {cout<<"error\n" ; exit(1);} // если ошибка
SetConsoleFont(GetStdHandle(STD_OUTPUT_HANDLE), 8); // устанавливаем 8-й шрифт..
//эксперементально установил что в обычной XP это Lucida Console = 6 или 8.
// разница только в размерах. 6 - помельче.
SetConsoleCP(1251); // устанавливаем кодировку ввода
SetConsoleOutputCP(1251) ; // устанавливаем кодировку вывода
// ************ Здесь начинается код программы **************
cout<<"по русски";
cin.get();
return 0;
}
