Change Windows console size
up vote
3
down vote
favorite
I have been trying to figure out how to resize the console window.
Here is the code of a function i am using:
#include <windows.h>
#include <stdio.h>
#define WIDTH 70
#define HEIGHT 35
HANDLE wHnd;
void setup()
SMALL_RECT windowSize = 0, 0, WIDTH - 1, HEIGHT - 1;
COORD bufferSize = WIDTH , HEIGHT ;
wHnd = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTitle("Conway's Game of Life");
SetConsoleWindowInfo(wHnd, 1, &windowSize);
SetConsoleScreenBufferSize(wHnd, bufferSize);
While it works for small widths and heights (like 70 and 35). it does not for the size I need (almost twice as big and yes i resized the buffersize accordingly, always a bit bigger than windowSize). Then it just is the regular size. My next thought was, since it already is quite big, why not go fullscreen.
SetConsoleDisplayMode(wHnd, CONSOLE_FULLSCREEN_MODE, 0);
Before this code snippet worked without a problem but now it does not, not even on other PCs. It stopped working on older projects too weirdly enough.
Any idea how I could launch it in fullscreen? (ALT + ENTER works) Or make the console window big at launch? I had a look at ncurses but I am on Windows 10 and don't know how to use it, besides that my Prof probably doesn't want me to use external libraries.
Thanks for your help! Let me know if I forgot something.
c windows-console
add a comment |
up vote
3
down vote
favorite
I have been trying to figure out how to resize the console window.
Here is the code of a function i am using:
#include <windows.h>
#include <stdio.h>
#define WIDTH 70
#define HEIGHT 35
HANDLE wHnd;
void setup()
SMALL_RECT windowSize = 0, 0, WIDTH - 1, HEIGHT - 1;
COORD bufferSize = WIDTH , HEIGHT ;
wHnd = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTitle("Conway's Game of Life");
SetConsoleWindowInfo(wHnd, 1, &windowSize);
SetConsoleScreenBufferSize(wHnd, bufferSize);
While it works for small widths and heights (like 70 and 35). it does not for the size I need (almost twice as big and yes i resized the buffersize accordingly, always a bit bigger than windowSize). Then it just is the regular size. My next thought was, since it already is quite big, why not go fullscreen.
SetConsoleDisplayMode(wHnd, CONSOLE_FULLSCREEN_MODE, 0);
Before this code snippet worked without a problem but now it does not, not even on other PCs. It stopped working on older projects too weirdly enough.
Any idea how I could launch it in fullscreen? (ALT + ENTER works) Or make the console window big at launch? I had a look at ncurses but I am on Windows 10 and don't know how to use it, besides that my Prof probably doesn't want me to use external libraries.
Thanks for your help! Let me know if I forgot something.
c windows-console
1
Microsoft ditched full screen support for console applications at some point trainsitioning to a new graphics driver model in between XP and Vista. (I'm too lazy too look it up.). If you want to resize the console window you have to make sure that the console output screenbuffer is at least the same size you want your window to resize to.
– Swordfish
Nov 9 at 8:28
yea i read about that too, weird thing is that it worked a week ago and now it doesnt(fullscreen). well my console output screenbuffer is bigger than the size i want the window to be as you can see, yet it only works with small sizes but not for bigger ones
– 2xWollert
Nov 9 at 8:35
add a comment |
up vote
3
down vote
favorite
up vote
3
down vote
favorite
I have been trying to figure out how to resize the console window.
Here is the code of a function i am using:
#include <windows.h>
#include <stdio.h>
#define WIDTH 70
#define HEIGHT 35
HANDLE wHnd;
void setup()
SMALL_RECT windowSize = 0, 0, WIDTH - 1, HEIGHT - 1;
COORD bufferSize = WIDTH , HEIGHT ;
wHnd = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTitle("Conway's Game of Life");
SetConsoleWindowInfo(wHnd, 1, &windowSize);
SetConsoleScreenBufferSize(wHnd, bufferSize);
While it works for small widths and heights (like 70 and 35). it does not for the size I need (almost twice as big and yes i resized the buffersize accordingly, always a bit bigger than windowSize). Then it just is the regular size. My next thought was, since it already is quite big, why not go fullscreen.
SetConsoleDisplayMode(wHnd, CONSOLE_FULLSCREEN_MODE, 0);
Before this code snippet worked without a problem but now it does not, not even on other PCs. It stopped working on older projects too weirdly enough.
Any idea how I could launch it in fullscreen? (ALT + ENTER works) Or make the console window big at launch? I had a look at ncurses but I am on Windows 10 and don't know how to use it, besides that my Prof probably doesn't want me to use external libraries.
Thanks for your help! Let me know if I forgot something.
c windows-console
I have been trying to figure out how to resize the console window.
Here is the code of a function i am using:
#include <windows.h>
#include <stdio.h>
#define WIDTH 70
#define HEIGHT 35
HANDLE wHnd;
void setup()
SMALL_RECT windowSize = 0, 0, WIDTH - 1, HEIGHT - 1;
COORD bufferSize = WIDTH , HEIGHT ;
wHnd = GetStdHandle(STD_OUTPUT_HANDLE);
SetConsoleTitle("Conway's Game of Life");
SetConsoleWindowInfo(wHnd, 1, &windowSize);
SetConsoleScreenBufferSize(wHnd, bufferSize);
While it works for small widths and heights (like 70 and 35). it does not for the size I need (almost twice as big and yes i resized the buffersize accordingly, always a bit bigger than windowSize). Then it just is the regular size. My next thought was, since it already is quite big, why not go fullscreen.
SetConsoleDisplayMode(wHnd, CONSOLE_FULLSCREEN_MODE, 0);
Before this code snippet worked without a problem but now it does not, not even on other PCs. It stopped working on older projects too weirdly enough.
Any idea how I could launch it in fullscreen? (ALT + ENTER works) Or make the console window big at launch? I had a look at ncurses but I am on Windows 10 and don't know how to use it, besides that my Prof probably doesn't want me to use external libraries.
Thanks for your help! Let me know if I forgot something.
c windows-console
c windows-console
edited Nov 9 at 20:55
Swordfish
7,89311134
7,89311134
asked Nov 9 at 8:01
2xWollert
314
314
1
Microsoft ditched full screen support for console applications at some point trainsitioning to a new graphics driver model in between XP and Vista. (I'm too lazy too look it up.). If you want to resize the console window you have to make sure that the console output screenbuffer is at least the same size you want your window to resize to.
– Swordfish
Nov 9 at 8:28
yea i read about that too, weird thing is that it worked a week ago and now it doesnt(fullscreen). well my console output screenbuffer is bigger than the size i want the window to be as you can see, yet it only works with small sizes but not for bigger ones
– 2xWollert
Nov 9 at 8:35
add a comment |
1
Microsoft ditched full screen support for console applications at some point trainsitioning to a new graphics driver model in between XP and Vista. (I'm too lazy too look it up.). If you want to resize the console window you have to make sure that the console output screenbuffer is at least the same size you want your window to resize to.
– Swordfish
Nov 9 at 8:28
yea i read about that too, weird thing is that it worked a week ago and now it doesnt(fullscreen). well my console output screenbuffer is bigger than the size i want the window to be as you can see, yet it only works with small sizes but not for bigger ones
– 2xWollert
Nov 9 at 8:35
1
1
Microsoft ditched full screen support for console applications at some point trainsitioning to a new graphics driver model in between XP and Vista. (I'm too lazy too look it up.). If you want to resize the console window you have to make sure that the console output screenbuffer is at least the same size you want your window to resize to.
– Swordfish
Nov 9 at 8:28
Microsoft ditched full screen support for console applications at some point trainsitioning to a new graphics driver model in between XP and Vista. (I'm too lazy too look it up.). If you want to resize the console window you have to make sure that the console output screenbuffer is at least the same size you want your window to resize to.
– Swordfish
Nov 9 at 8:28
yea i read about that too, weird thing is that it worked a week ago and now it doesnt(fullscreen). well my console output screenbuffer is bigger than the size i want the window to be as you can see, yet it only works with small sizes but not for bigger ones
– 2xWollert
Nov 9 at 8:35
yea i read about that too, weird thing is that it worked a week ago and now it doesnt(fullscreen). well my console output screenbuffer is bigger than the size i want the window to be as you can see, yet it only works with small sizes but not for bigger ones
– 2xWollert
Nov 9 at 8:35
add a comment |
1 Answer
1
active
oldest
votes
up vote
2
down vote
To maximize the console window you can do:
C++
#include <cstdlib>
#include <string>
#include <iostream>
#include <memory>
#include <type_traits>
#include <windows.h>
std::string get_last_error_msg()
auto error_code GetLastError() ;
if (!error_code)
return ;
LPSTR buffer;
auto size FORMAT_MESSAGE_FROM_SYSTEM ;
// use a unique_ptr for buffer since the ctor of string could throw
std::unique_ptr<std::remove_pointer_t<decltype(buffer)>, decltype(&LocalFree)> p buffer, LocalFree ;
std::string message p.get(), size ;
return message;
bool maximize_console()
auto console_window GetConsoleWindow() ;
if (!console_window)
std::cerr << "GetConsoleWindow() failed :(nn";
return false;
auto console_out GetStdHandle(STD_OUTPUT_HANDLE) ;
if (console_out == INVALID_HANDLE_VALUE)
std::cerr << "GetStdHandle() failed with "" << get_last_error_msg() << "" :(nn";
return false;
auto largest_size GetLargestConsoleWindowSize(console_out) ;
if (!largest_size.X && !largest_size.Y)
std::cerr << "GetLargestConsoleWindowSize() failed with "" << get_last_error_msg() << "" :(nn";
return false;
--largest_size.X;
--largest_size.Y;
if (!SetConsoleScreenBufferSize(console_out, largest_size))
std::cerr << "SetConsoleScreenBufferSize() failed with "" << get_last_error_msg() << "" :(nn";
return false;
if (!ShowWindow(console_window, SW_MAXIMIZE))
std::cerr << "ShowWindow() failed :(nn";
return false;
return true;
int main()
if (!maximize_console())
return EXIT_FAILURE;
C
#include <stdbool.h>
#include <stdio.h>
#include <windows.h>
LPSTR get_last_error_msg(void)
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL, error_code, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPSTR)&buffer, 0, NULL);
return buffer;
bool maximize_console(void)
HWND console_window = GetConsoleWindow();
if (!console_window)
fputs("GetConsoleWindow() failed :(n", stderr);
return false;
HANDLE console_out = GetStdHandle(STD_OUTPUT_HANDLE);
if (console_out == INVALID_HANDLE_VALUE)
LPSTR buffer = get_last_error_msg();
fprintf(stderr, "GetStdHandle() failed with "%s" :(nn", buffer);
LocalFree(buffer);
return false;
COORD largest_size = GetLargestConsoleWindowSize(console_out);
if (!largest_size.X && !largest_size.Y)
LPSTR buffer = get_last_error_msg();
fprintf(stderr, "GetLargestConsoleWindowSize() failed with "%s" :(nn", buffer);
LocalFree(buffer);
return false;
--largest_size.X;
--largest_size.Y;
if (!SetConsoleScreenBufferSize(console_out, largest_size))
LPSTR buffer = get_last_error_msg();
fprintf(stderr, "SetConsoleScreenBufferSize() failed with "%s" :(nn", buffer);
LocalFree(buffer);
if (!ShowWindow(console_window, SW_MAXIMIZE))
fputs("ShowWindow() failed :(n", stderr);
return false;
return true;
int main(void)
if (!maximize_console())
return EXIT_FAILURE;
Thank you very much! Sadly i have to use C and not C++.. i just notice that stackoverflow removed the "C - " from the title :( at least the tag C is still there. Nevertheless its helpful since C++ is what i want to learn but dont have in uni but i can probably use some or most of it, havent looked too close yet. Thank you very much! ^^
– 2xWollert
Nov 9 at 15:56
@2xWollert Added C code.
– Swordfish
Nov 9 at 19:50
@Icemanind em. look again.<stdbool.h>
and<stdio.h>
*are* included.
– Swordfish
Nov 9 at 20:37
@Icemanind andbool
,true
andfalse
are lowercase. See §7.16 Boolean type and values.
– Swordfish
Nov 9 at 20:52
@2xWollert accept the answer if you like it.
– The Crow
Nov 9 at 22:46
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
2
down vote
To maximize the console window you can do:
C++
#include <cstdlib>
#include <string>
#include <iostream>
#include <memory>
#include <type_traits>
#include <windows.h>
std::string get_last_error_msg()
auto error_code GetLastError() ;
if (!error_code)
return ;
LPSTR buffer;
auto size FORMAT_MESSAGE_FROM_SYSTEM ;
// use a unique_ptr for buffer since the ctor of string could throw
std::unique_ptr<std::remove_pointer_t<decltype(buffer)>, decltype(&LocalFree)> p buffer, LocalFree ;
std::string message p.get(), size ;
return message;
bool maximize_console()
auto console_window GetConsoleWindow() ;
if (!console_window)
std::cerr << "GetConsoleWindow() failed :(nn";
return false;
auto console_out GetStdHandle(STD_OUTPUT_HANDLE) ;
if (console_out == INVALID_HANDLE_VALUE)
std::cerr << "GetStdHandle() failed with "" << get_last_error_msg() << "" :(nn";
return false;
auto largest_size GetLargestConsoleWindowSize(console_out) ;
if (!largest_size.X && !largest_size.Y)
std::cerr << "GetLargestConsoleWindowSize() failed with "" << get_last_error_msg() << "" :(nn";
return false;
--largest_size.X;
--largest_size.Y;
if (!SetConsoleScreenBufferSize(console_out, largest_size))
std::cerr << "SetConsoleScreenBufferSize() failed with "" << get_last_error_msg() << "" :(nn";
return false;
if (!ShowWindow(console_window, SW_MAXIMIZE))
std::cerr << "ShowWindow() failed :(nn";
return false;
return true;
int main()
if (!maximize_console())
return EXIT_FAILURE;
C
#include <stdbool.h>
#include <stdio.h>
#include <windows.h>
LPSTR get_last_error_msg(void)
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL, error_code, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPSTR)&buffer, 0, NULL);
return buffer;
bool maximize_console(void)
HWND console_window = GetConsoleWindow();
if (!console_window)
fputs("GetConsoleWindow() failed :(n", stderr);
return false;
HANDLE console_out = GetStdHandle(STD_OUTPUT_HANDLE);
if (console_out == INVALID_HANDLE_VALUE)
LPSTR buffer = get_last_error_msg();
fprintf(stderr, "GetStdHandle() failed with "%s" :(nn", buffer);
LocalFree(buffer);
return false;
COORD largest_size = GetLargestConsoleWindowSize(console_out);
if (!largest_size.X && !largest_size.Y)
LPSTR buffer = get_last_error_msg();
fprintf(stderr, "GetLargestConsoleWindowSize() failed with "%s" :(nn", buffer);
LocalFree(buffer);
return false;
--largest_size.X;
--largest_size.Y;
if (!SetConsoleScreenBufferSize(console_out, largest_size))
LPSTR buffer = get_last_error_msg();
fprintf(stderr, "SetConsoleScreenBufferSize() failed with "%s" :(nn", buffer);
LocalFree(buffer);
if (!ShowWindow(console_window, SW_MAXIMIZE))
fputs("ShowWindow() failed :(n", stderr);
return false;
return true;
int main(void)
if (!maximize_console())
return EXIT_FAILURE;
Thank you very much! Sadly i have to use C and not C++.. i just notice that stackoverflow removed the "C - " from the title :( at least the tag C is still there. Nevertheless its helpful since C++ is what i want to learn but dont have in uni but i can probably use some or most of it, havent looked too close yet. Thank you very much! ^^
– 2xWollert
Nov 9 at 15:56
@2xWollert Added C code.
– Swordfish
Nov 9 at 19:50
@Icemanind em. look again.<stdbool.h>
and<stdio.h>
*are* included.
– Swordfish
Nov 9 at 20:37
@Icemanind andbool
,true
andfalse
are lowercase. See §7.16 Boolean type and values.
– Swordfish
Nov 9 at 20:52
@2xWollert accept the answer if you like it.
– The Crow
Nov 9 at 22:46
add a comment |
up vote
2
down vote
To maximize the console window you can do:
C++
#include <cstdlib>
#include <string>
#include <iostream>
#include <memory>
#include <type_traits>
#include <windows.h>
std::string get_last_error_msg()
auto error_code GetLastError() ;
if (!error_code)
return ;
LPSTR buffer;
auto size FORMAT_MESSAGE_FROM_SYSTEM ;
// use a unique_ptr for buffer since the ctor of string could throw
std::unique_ptr<std::remove_pointer_t<decltype(buffer)>, decltype(&LocalFree)> p buffer, LocalFree ;
std::string message p.get(), size ;
return message;
bool maximize_console()
auto console_window GetConsoleWindow() ;
if (!console_window)
std::cerr << "GetConsoleWindow() failed :(nn";
return false;
auto console_out GetStdHandle(STD_OUTPUT_HANDLE) ;
if (console_out == INVALID_HANDLE_VALUE)
std::cerr << "GetStdHandle() failed with "" << get_last_error_msg() << "" :(nn";
return false;
auto largest_size GetLargestConsoleWindowSize(console_out) ;
if (!largest_size.X && !largest_size.Y)
std::cerr << "GetLargestConsoleWindowSize() failed with "" << get_last_error_msg() << "" :(nn";
return false;
--largest_size.X;
--largest_size.Y;
if (!SetConsoleScreenBufferSize(console_out, largest_size))
std::cerr << "SetConsoleScreenBufferSize() failed with "" << get_last_error_msg() << "" :(nn";
return false;
if (!ShowWindow(console_window, SW_MAXIMIZE))
std::cerr << "ShowWindow() failed :(nn";
return false;
return true;
int main()
if (!maximize_console())
return EXIT_FAILURE;
C
#include <stdbool.h>
#include <stdio.h>
#include <windows.h>
LPSTR get_last_error_msg(void)
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL, error_code, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPSTR)&buffer, 0, NULL);
return buffer;
bool maximize_console(void)
HWND console_window = GetConsoleWindow();
if (!console_window)
fputs("GetConsoleWindow() failed :(n", stderr);
return false;
HANDLE console_out = GetStdHandle(STD_OUTPUT_HANDLE);
if (console_out == INVALID_HANDLE_VALUE)
LPSTR buffer = get_last_error_msg();
fprintf(stderr, "GetStdHandle() failed with "%s" :(nn", buffer);
LocalFree(buffer);
return false;
COORD largest_size = GetLargestConsoleWindowSize(console_out);
if (!largest_size.X && !largest_size.Y)
LPSTR buffer = get_last_error_msg();
fprintf(stderr, "GetLargestConsoleWindowSize() failed with "%s" :(nn", buffer);
LocalFree(buffer);
return false;
--largest_size.X;
--largest_size.Y;
if (!SetConsoleScreenBufferSize(console_out, largest_size))
LPSTR buffer = get_last_error_msg();
fprintf(stderr, "SetConsoleScreenBufferSize() failed with "%s" :(nn", buffer);
LocalFree(buffer);
if (!ShowWindow(console_window, SW_MAXIMIZE))
fputs("ShowWindow() failed :(n", stderr);
return false;
return true;
int main(void)
if (!maximize_console())
return EXIT_FAILURE;
Thank you very much! Sadly i have to use C and not C++.. i just notice that stackoverflow removed the "C - " from the title :( at least the tag C is still there. Nevertheless its helpful since C++ is what i want to learn but dont have in uni but i can probably use some or most of it, havent looked too close yet. Thank you very much! ^^
– 2xWollert
Nov 9 at 15:56
@2xWollert Added C code.
– Swordfish
Nov 9 at 19:50
@Icemanind em. look again.<stdbool.h>
and<stdio.h>
*are* included.
– Swordfish
Nov 9 at 20:37
@Icemanind andbool
,true
andfalse
are lowercase. See §7.16 Boolean type and values.
– Swordfish
Nov 9 at 20:52
@2xWollert accept the answer if you like it.
– The Crow
Nov 9 at 22:46
add a comment |
up vote
2
down vote
up vote
2
down vote
To maximize the console window you can do:
C++
#include <cstdlib>
#include <string>
#include <iostream>
#include <memory>
#include <type_traits>
#include <windows.h>
std::string get_last_error_msg()
auto error_code GetLastError() ;
if (!error_code)
return ;
LPSTR buffer;
auto size FORMAT_MESSAGE_FROM_SYSTEM ;
// use a unique_ptr for buffer since the ctor of string could throw
std::unique_ptr<std::remove_pointer_t<decltype(buffer)>, decltype(&LocalFree)> p buffer, LocalFree ;
std::string message p.get(), size ;
return message;
bool maximize_console()
auto console_window GetConsoleWindow() ;
if (!console_window)
std::cerr << "GetConsoleWindow() failed :(nn";
return false;
auto console_out GetStdHandle(STD_OUTPUT_HANDLE) ;
if (console_out == INVALID_HANDLE_VALUE)
std::cerr << "GetStdHandle() failed with "" << get_last_error_msg() << "" :(nn";
return false;
auto largest_size GetLargestConsoleWindowSize(console_out) ;
if (!largest_size.X && !largest_size.Y)
std::cerr << "GetLargestConsoleWindowSize() failed with "" << get_last_error_msg() << "" :(nn";
return false;
--largest_size.X;
--largest_size.Y;
if (!SetConsoleScreenBufferSize(console_out, largest_size))
std::cerr << "SetConsoleScreenBufferSize() failed with "" << get_last_error_msg() << "" :(nn";
return false;
if (!ShowWindow(console_window, SW_MAXIMIZE))
std::cerr << "ShowWindow() failed :(nn";
return false;
return true;
int main()
if (!maximize_console())
return EXIT_FAILURE;
C
#include <stdbool.h>
#include <stdio.h>
#include <windows.h>
LPSTR get_last_error_msg(void)
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL, error_code, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPSTR)&buffer, 0, NULL);
return buffer;
bool maximize_console(void)
HWND console_window = GetConsoleWindow();
if (!console_window)
fputs("GetConsoleWindow() failed :(n", stderr);
return false;
HANDLE console_out = GetStdHandle(STD_OUTPUT_HANDLE);
if (console_out == INVALID_HANDLE_VALUE)
LPSTR buffer = get_last_error_msg();
fprintf(stderr, "GetStdHandle() failed with "%s" :(nn", buffer);
LocalFree(buffer);
return false;
COORD largest_size = GetLargestConsoleWindowSize(console_out);
if (!largest_size.X && !largest_size.Y)
LPSTR buffer = get_last_error_msg();
fprintf(stderr, "GetLargestConsoleWindowSize() failed with "%s" :(nn", buffer);
LocalFree(buffer);
return false;
--largest_size.X;
--largest_size.Y;
if (!SetConsoleScreenBufferSize(console_out, largest_size))
LPSTR buffer = get_last_error_msg();
fprintf(stderr, "SetConsoleScreenBufferSize() failed with "%s" :(nn", buffer);
LocalFree(buffer);
if (!ShowWindow(console_window, SW_MAXIMIZE))
fputs("ShowWindow() failed :(n", stderr);
return false;
return true;
int main(void)
if (!maximize_console())
return EXIT_FAILURE;
To maximize the console window you can do:
C++
#include <cstdlib>
#include <string>
#include <iostream>
#include <memory>
#include <type_traits>
#include <windows.h>
std::string get_last_error_msg()
auto error_code GetLastError() ;
if (!error_code)
return ;
LPSTR buffer;
auto size FORMAT_MESSAGE_FROM_SYSTEM ;
// use a unique_ptr for buffer since the ctor of string could throw
std::unique_ptr<std::remove_pointer_t<decltype(buffer)>, decltype(&LocalFree)> p buffer, LocalFree ;
std::string message p.get(), size ;
return message;
bool maximize_console()
auto console_window GetConsoleWindow() ;
if (!console_window)
std::cerr << "GetConsoleWindow() failed :(nn";
return false;
auto console_out GetStdHandle(STD_OUTPUT_HANDLE) ;
if (console_out == INVALID_HANDLE_VALUE)
std::cerr << "GetStdHandle() failed with "" << get_last_error_msg() << "" :(nn";
return false;
auto largest_size GetLargestConsoleWindowSize(console_out) ;
if (!largest_size.X && !largest_size.Y)
std::cerr << "GetLargestConsoleWindowSize() failed with "" << get_last_error_msg() << "" :(nn";
return false;
--largest_size.X;
--largest_size.Y;
if (!SetConsoleScreenBufferSize(console_out, largest_size))
std::cerr << "SetConsoleScreenBufferSize() failed with "" << get_last_error_msg() << "" :(nn";
return false;
if (!ShowWindow(console_window, SW_MAXIMIZE))
std::cerr << "ShowWindow() failed :(nn";
return false;
return true;
int main()
if (!maximize_console())
return EXIT_FAILURE;
C
#include <stdbool.h>
#include <stdio.h>
#include <windows.h>
LPSTR get_last_error_msg(void)
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL, error_code, MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), (LPSTR)&buffer, 0, NULL);
return buffer;
bool maximize_console(void)
HWND console_window = GetConsoleWindow();
if (!console_window)
fputs("GetConsoleWindow() failed :(n", stderr);
return false;
HANDLE console_out = GetStdHandle(STD_OUTPUT_HANDLE);
if (console_out == INVALID_HANDLE_VALUE)
LPSTR buffer = get_last_error_msg();
fprintf(stderr, "GetStdHandle() failed with "%s" :(nn", buffer);
LocalFree(buffer);
return false;
COORD largest_size = GetLargestConsoleWindowSize(console_out);
if (!largest_size.X && !largest_size.Y)
LPSTR buffer = get_last_error_msg();
fprintf(stderr, "GetLargestConsoleWindowSize() failed with "%s" :(nn", buffer);
LocalFree(buffer);
return false;
--largest_size.X;
--largest_size.Y;
if (!SetConsoleScreenBufferSize(console_out, largest_size))
LPSTR buffer = get_last_error_msg();
fprintf(stderr, "SetConsoleScreenBufferSize() failed with "%s" :(nn", buffer);
LocalFree(buffer);
if (!ShowWindow(console_window, SW_MAXIMIZE))
fputs("ShowWindow() failed :(n", stderr);
return false;
return true;
int main(void)
if (!maximize_console())
return EXIT_FAILURE;
edited Nov 9 at 21:02
answered Nov 9 at 10:19
Swordfish
7,89311134
7,89311134
Thank you very much! Sadly i have to use C and not C++.. i just notice that stackoverflow removed the "C - " from the title :( at least the tag C is still there. Nevertheless its helpful since C++ is what i want to learn but dont have in uni but i can probably use some or most of it, havent looked too close yet. Thank you very much! ^^
– 2xWollert
Nov 9 at 15:56
@2xWollert Added C code.
– Swordfish
Nov 9 at 19:50
@Icemanind em. look again.<stdbool.h>
and<stdio.h>
*are* included.
– Swordfish
Nov 9 at 20:37
@Icemanind andbool
,true
andfalse
are lowercase. See §7.16 Boolean type and values.
– Swordfish
Nov 9 at 20:52
@2xWollert accept the answer if you like it.
– The Crow
Nov 9 at 22:46
add a comment |
Thank you very much! Sadly i have to use C and not C++.. i just notice that stackoverflow removed the "C - " from the title :( at least the tag C is still there. Nevertheless its helpful since C++ is what i want to learn but dont have in uni but i can probably use some or most of it, havent looked too close yet. Thank you very much! ^^
– 2xWollert
Nov 9 at 15:56
@2xWollert Added C code.
– Swordfish
Nov 9 at 19:50
@Icemanind em. look again.<stdbool.h>
and<stdio.h>
*are* included.
– Swordfish
Nov 9 at 20:37
@Icemanind andbool
,true
andfalse
are lowercase. See §7.16 Boolean type and values.
– Swordfish
Nov 9 at 20:52
@2xWollert accept the answer if you like it.
– The Crow
Nov 9 at 22:46
Thank you very much! Sadly i have to use C and not C++.. i just notice that stackoverflow removed the "C - " from the title :( at least the tag C is still there. Nevertheless its helpful since C++ is what i want to learn but dont have in uni but i can probably use some or most of it, havent looked too close yet. Thank you very much! ^^
– 2xWollert
Nov 9 at 15:56
Thank you very much! Sadly i have to use C and not C++.. i just notice that stackoverflow removed the "C - " from the title :( at least the tag C is still there. Nevertheless its helpful since C++ is what i want to learn but dont have in uni but i can probably use some or most of it, havent looked too close yet. Thank you very much! ^^
– 2xWollert
Nov 9 at 15:56
@2xWollert Added C code.
– Swordfish
Nov 9 at 19:50
@2xWollert Added C code.
– Swordfish
Nov 9 at 19:50
@Icemanind em. look again.
<stdbool.h>
and <stdio.h>
*are* included.– Swordfish
Nov 9 at 20:37
@Icemanind em. look again.
<stdbool.h>
and <stdio.h>
*are* included.– Swordfish
Nov 9 at 20:37
@Icemanind and
bool
, true
and false
are lowercase. See §7.16 Boolean type and values.– Swordfish
Nov 9 at 20:52
@Icemanind and
bool
, true
and false
are lowercase. See §7.16 Boolean type and values.– Swordfish
Nov 9 at 20:52
@2xWollert accept the answer if you like it.
– The Crow
Nov 9 at 22:46
@2xWollert accept the answer if you like it.
– The Crow
Nov 9 at 22:46
add a comment |
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53221855%2fchange-windows-console-size%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
Microsoft ditched full screen support for console applications at some point trainsitioning to a new graphics driver model in between XP and Vista. (I'm too lazy too look it up.). If you want to resize the console window you have to make sure that the console output screenbuffer is at least the same size you want your window to resize to.
– Swordfish
Nov 9 at 8:28
yea i read about that too, weird thing is that it worked a week ago and now it doesnt(fullscreen). well my console output screenbuffer is bigger than the size i want the window to be as you can see, yet it only works with small sizes but not for bigger ones
– 2xWollert
Nov 9 at 8:35