When I compile and run a simple Win32 GUI program in MinGW+MSys with command line:
$ g++ main.cpp -o app -std=c++0x
$ ./app
only a dialog box shows. But when I put this program into Code::Blocks IDE and compile it, it always results in a black console box with the dialog. Adding -mwindows in link options no effect.
main.cpp:
#include <windows.h>
int WinMain(HINSTANCE,HINSTANCE,LPSTR,int)
{
MessageBox(0,"Hello, Windows","MinGW Test Program",MB_OK);
return 0;
}
How can I get rid of the console box?
Put it in a project, and in the project settings there’s an option to not have a console window.
If you can’t be bothered to have it in a project, a call to
ShowWindow (GetConsoleWindow(), SW_HIDE);will make it flash on the screen and then disappear. Note that you must#define _WIN32_WINNTas0x0500or greater before including windows.h to have access toGetConsoleWindow(). I’ll come back in a bit with a specific location to disable it.EDIT:
Found it, here’s how to not have a console window: