2010-06-26 36 views
1

我们是否可以更改/增加控制台输出的大小,以便一次查看控制台应用程序中的大量数据?增加控制台输出显示的大小

+0

代码?还是亲自动手? – 2010-06-26 13:32:37

+0

我会对代码部分感兴趣 – nus 2010-06-26 14:49:15

+0

@Kate我想用代码做这件事,所以这个改变是暂时的。 – Carl17 2010-06-27 03:34:34

回答

0

似乎有不同的方式来罗马:

  1. 这应该是推荐的方式,我会认为,导致名字说明了一切:GetConsoleWindow足以证明here

  2. 快速入侵可能是windows API函数SendInput。如果您模拟Alt + Enter,则可以全屏显示活动窗口。

  3. Here是使用API​​调用从user32.dll中

0

退房的SetConsoleScreenBufferInfoEx API提出了一些建议。它需要一个CONSOLE_SCREEN_BUFFER_INFOEX作为输入,并有一个dwSize成员,其中包含控制台屏幕缓冲区的大小,字符列和行

MSDN为SetConsoleScreenBufferInfoEx功能:http://msdn.microsoft.com/en-us/library/ms686039(v=VS.85).aspx

0

我曾经用一个小的黑客工具,首先设置控制台输出缓冲区,然后试图找到控制台窗口,并调整其大小。它在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); 
} 
-1

如果您使用命令提示符窗口,请在任务栏上右键单击它的标签,然后单击“属性”选项。

+0

OP明确声明他正在寻找代码如何完成此操作,而不是GUI操作 – rootkit 2013-02-15 22:35:39

相关问题