代码之家  ›  专栏  ›  技术社区  ›  Ryoshi

有没有办法强制控制台应用程序以特定的窗口大小运行(使用Pdcurses)?

  •  1
  • Ryoshi  · 技术社区  · 15 年前

    我正在尝试在C++中添加一个小的RoGuiLK,但是我遇到了一个问题——为了使游戏正确显示,控制台窗口必须宽一点(大约45行,115个COL)。通过右键单击菜单栏并设置同名窗口的默认值可以很容易地进行更改,但是有没有一种方法可以从代码中自动设置它,这样就不必让潜在的用户来处理这些问题呢?如果有帮助的话,我使用Pdcurses来处理输出。

    4 回复  |  直到 15 年前
        1
  •  1
  •   Roger PateRoger Pate    15 年前

    IIRC,这可以在启动游戏的快捷方式中设置,但它不是文本,我不知道使用哪个库或Windows api来修改它。这可能比尝试使用pdcourse要简单。

    不过,别忘了Windows有几个控制台api。开始于 AllocConsole 在MSDN中查看概述,或直接跳到 SetConsoleWindowInfo .

        2
  •  1
  •   sbgoodwin    11 年前

    这是一个很老的问题,但我还是会把我的答案贴出来,以防将来有人帮到我。 这是我在MS Windows中使用的:

    int err = system("mode con lines=45 cols=115");
    

    我在打电话给 initscr(); ,它就像一个符咒。 很明显,这不是很容易移植的,但是如果你开发的都是Windows的话,它就可以做到这一点。

        3
  •  0
  •   Clifford    15 年前

    什么操作系统?(因为它是操作系统特有的)

    在Windows中 SetConsoleWindowInfo()

        4
  •  0
  •   EvilTeach    11 年前
        /* Resize the terminal to something larger than the physical screen */
        resize_term(2000, 2000);
    
        /* Get the largest physical screen dimensions */
        getmaxyx(_window, _rows, _cols);
    
        /* Resize so it fits */
        resize_term(_rows - 1, _cols - 1);
    
        /* Get the screen dimensions that fit */
        getmaxyx(_window, _rows, _cols);