Увеличение размера вывода на консоль - PullRequest
1 голос
/ 26 июня 2010

Можем ли мы изменить / увеличить размер вывода на консоль для одновременного просмотра больших объемов данных в консольном приложении?

Ответы [ 5 ]

0 голосов
/ 16 февраля 2013

Если вы используете окно командной строки, щелкните правой кнопкой мыши его ярлык на панели задач и выберите параметр Свойства.

0 голосов
/ 11 ноября 2011

Однажды я использовал небольшой хак, который сначала устанавливает буфер вывода консоли, а затем пытается найти окно консоли и изменить его размер. Он хорошо работал на XP, я никогда не тестировал его на новых версиях Windows.

HANDLE h = GetStdHandle(STD_OUTPUT_HANDLE);
SMALL_RECT sr;
sr.Top  = 0;
sr.Left = 0;
sr.Bottom = 10;
sr.Right  = 79;
SetConsoleWindowInfo(h, TRUE, &sr);
TCHAR title[512];
GetConsoleTitle(title, 512);
HWND hWnd = FindWindow(NULL, title);
if(hWnd != NULL) {
    HWND hWndInsertAfter = NULL;
    UINT nFlags = SWP_NOSIZE | SWP_NOZORDER;
#if 0   // Don't move?
    nFlags |= SWP_NOMOVE;
#endif
    SetWindowPos(hWnd, hWndInsertAfter , 40, 350, 0, 0, nFlags);
    SetForegroundWindow(hWnd);
}
0 голосов
/ 27 июня 2010

Кажется, есть разные пути в Рим:

  1. Это должен быть рекомендуемый способ, потому что название говорит само за себя: GetConsoleWindow как естьпродемонстрировано здесь .

  2. Быстрый взлом может быть с помощью функции Windows API SendInput .Если вы имитируете Alt + Enter, вы, вероятно, могли бы полноэкранно активировать окно.

  3. Здесь - некоторые предложения, использующие вызовы API из user32.dll

0 голосов
/ 28 июня 2010

Ознакомьтесь с SetConsoleScreenBufferInfoEx API. Он принимает CONSOLE_SCREEN_BUFFER_INFOEX в качестве ввода и имеет член dwSize, который содержит размер экранного буфера консоли, в символьных столбцах и строках .

MSDN для функции SetConsoleScreenBufferInfoEx: http://msdn.microsoft.com/en-us/library/ms686039(v=VS.85).aspx

0 голосов
/ 26 июня 2010
...