您好我必须在C ++中运行程序,我想确保程序执行时,它以特定的大小/尺寸打开控制台,以便我的程序中的显示是正确的。我需要帮助,因为我不知道该怎么做。我正在使用Dev C ++ 5.42(Orwell)。我尝试使用
#include<iostream>
#include<windows.h>
using namespace std;
SetWindowPos(hwnd, HWND_TOPMOST, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE | SWP_SHOWWINDOW);
int main(){
cout<<"Hello World";
}
并收到错误
[Error] expected constructor, destructor, or type conversion before '(' token
我是初学者,因此我对这些事情知之甚少。
答案 0 :(得分:7)
该功能对于没有窗口的控制台应用程序是无用的(除非他们使用CreateWindow
API创建一个,这对于控制台应用来说是非典型的)。相反,他们的输出连接到csrss,它有窗口。
您应该使用
SetConsoleScreenBufferSize
SetConsoleWindowInfo
代替。
有一个例子答案 1 :(得分:3)
这对我有用:
HWND hwnd = GetConsoleWindow();
if( hwnd != NULL ){ MoveWindow(hwnd ,340,550 ,680,150 ,TRUE); }
答案 2 :(得分:1)
如果您正在寻找更改屏幕缓冲区,请:
HANDLE buff = GetStdHandle(STD_OUTPUT_HANDLE);
COORD sizeOfBuff;
sizeOfBuff.X=150;
sizeOfBuff.Y=100;
SetConsoleScreenBufferSize(buff,sizeOfBuff);
要调整屏幕大小,请使用DaveWalley的解决方案。
或者你可以这样做(仅用于调整大小)
HWND hwnd = GetConsoleWindow();
if( hwnd != NULL ){ SetWindowPos(hwnd ,0,0,0 ,1000,300 ,SWP_SHOWWINDOW|SWP_NOMOVE); }
请务必加入:
#define _WIN32_WINNT 0x0502
#include<windows.h>
在文件的开头。字面意思是第一行。
通过重新讨论Ben Voigt提到的功能来解决问题。