如何在全屏模式下运行C++控制台程序?使用VS2008
我刚试了一下 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();
}
不幸的是,它在第二个显示器上复制了文本 :)
请尝试:
#include <iostream>
using namespace std;
int main(){
system("mode 650");
system("pause");
return 0;
}
#include <windows.h>
SetConsoleDisplayMode(GetStdHandle(STD_OUTPUT_HANDLE),CONSOLE_FULLSCREEN_MODE,0);
现在很少有视频适配器支持全屏模式。运行cmd.exe并按下Alt+Enter键。如果出现“此系统不支持全屏模式”的消息框,则无法使用全屏模式。如果可以切换到全屏模式,则可以在main()函数中使用SetConsoleDisplayMode()。当然,您不知道客户的机器是什么样的,最好不要追求这个。
这是我正在使用的:
system("mode con COLS=700");
ShowWindow(GetConsoleWindow(),SW_MAXIMIZE);
SendMessage(GetConsoleWindow(),WM_SYSKEYDOWN,VK_RETURN,0x20000000);
ShowWindow(GetConsoleWindow(), SW_MAXIMIZE);
只需在输出之前添加此行代码(任何位置均可),
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;
}
仅供参考:您可以使用早期的DOS视频模式,例如...
asm
{
mov ax, 13h
push bp
int 10h
pop bp
}
...具有320x200像素的分辨率。
但我不确定这是否适用于Windows应用程序... 可能不行!