【问题标题】:Making the console window bigger in C在 C 中使控制台窗口更大
【发布时间】:2013-06-18 04:29:47
【问题描述】:

如何在 C 语言中调整 Windows 控制台窗口的大小?

【问题讨论】:

  • C 只指定文件 i/o。控制台是特定于操作系统的。
  • 您需要使用SetConsoleScreenBufferSize,然后使用SetConsoleWindowInfo。如果你不能让它工作,发布代码。
  • 评论格式很奇怪,所以我只是要编辑我的帖子。回应@HarryJohnston 的新东西就在那里。
  • @MichaelAnthonyLeber:一般来说,原始发帖人想要在问题中添加任何内容以回应评论确实应该通过编辑原始帖子来完成。 :-)
  • @MichaelAnthonyLeber 在 Windows 上更改我们使用注册表项 HKCU\Console 的控制台窗口

标签: c windows console window maximize


【解决方案1】:

好的,经过深思熟虑,我得到了代码。

使用这个包括:

#include <windows.h>

这个结构:

struct SMALL_RECT {
    SHORT Left;
    SHORT Top;
    SHORT Right;
    SHORT Bottom;
};

还有这个功能:

void adjustWindowSize()
{
    struct SMALL_RECT test; 

    HANDLE hStdout;
    COORD coord;
    BOOL ok;

    hStdout = GetStdHandle(STD_OUTPUT_HANDLE);
    coord.X = 100;
    coord.Y = 50;
    ok = SetConsoleScreenBufferSize(hStdout, coord);

    test.Left = 0;
    test.Top = 0;
    test.Right = coord.X-1;
    test.Bottom = coord.Y-1;

    SetConsoleWindowInfo(hStdout, ok, &test);

} //end adjustWindowSize 

我成功地将控制台窗口的大小调整为 coord.X 和 coord.Y 中的值

【讨论】:

  • 虽然这可能可行,但将SetConsoleScreenBufferSize 的返回值作为SetConsoleWindowInfobAbsolute 参数传递是没有意义的。
猜你喜欢
  • 2014-03-29
  • 2014-01-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-20
  • 2014-02-17
  • 1970-01-01
相关资源
最近更新 更多