全屏运行C ++控制台程序

时间:2010-10-29 15:50:36

标签: c++ visual-c++

如何全屏运行C ++控制台程序? ,使用VS2008

8 个答案:

答案 0 :(得分:9)

刚刚使用cl fullscreen.cpp测试了这个:

#include <iostream>
#include <windows.h>

#pragma comment(lib, "user32")

int main()
{
    ::SendMessage(::GetConsoleWindow(), WM_SYSKEYDOWN, VK_RETURN, 0x20000000);

    std::cout << "Hello world from full screen app!" << std::endl; 
    std::cin.get();
}

不幸的是,它在第​​二台显示器上复制了文字:)

答案 1 :(得分:5)

#include <windows.h>

SetConsoleDisplayMode(GetStdHandle(STD_OUTPUT_HANDLE),CONSOLE_FULLSCREEN_MODE,0);

答案 2 :(得分:5)

尝试:

#include <iostream>

using namespace std;

int main(){
system("mode 650");

system("pause");
return 0;
}

答案 3 :(得分:3)

目前还没有很多视频适配器能够支持这一点。运行cmd.exe并按Alt + Enter。如果您收到一条消息框,显示“此系统不支持全屏模式”,那么您就完成了。如果它确实切换到全屏,那么您可以在main()函数中使用SetConsoleDisplayMode()。当然,你不知道客户的机器是什么样的,最好不要追求这个。

答案 4 :(得分:1)

对于全屏窗口模式:ShowWindow(GetConsoleWindow(), SW_MAXIMIZE);

答案 5 :(得分:1)

我正在使用的内容:

system("mode con COLS=700");
ShowWindow(GetConsoleWindow(),SW_MAXIMIZE);
SendMessage(GetConsoleWindow(),WM_SYSKEYDOWN,VK_RETURN,0x20000000);

删除滚动条:D

答案 6 :(得分:0)

只是一种解决方法:你可以使用某种早期的DOS视频modi,例如......

asm
{
    mov     ax, 13h
    push    bp
    int     10h
    pop     bp
}

...分辨率为320x200像素。

但我不确定这是否适用于Windows应用程序......可能不适用!

答案 7 :(得分:0)

只需在输出之前添加此行(任何地方)

system("mode 650");

,例如,

#include<bits/stdc++.h>
using namespace std;

int main(){

    system("mode 650");
    cout<<"Hey, this words are shown in full screen console! "<<endl;
    return 0;
}