当我编译和MinGW的+与MSys的命令行运行一个简单的Win32 GUI程序:
$ g++ main.cpp -o app -std=c++0x
$ ./app
只有一个对话框显示。 但是,当我把这个程序到Code :: Blocks的IDE和编译它,它总是导致与对话黑色储物箱。 添加-mwindows
在链接选项没有任何影响。
main.cpp中:
#include <windows.h>
int WinMain(HINSTANCE,HINSTANCE,LPSTR,int)
{
MessageBox(0,"Hello, Windows","MinGW Test Program",MB_OK);
return 0;
}
我怎样才能摆脱储物箱的?
把它放在一个项目,在项目设置中有一个选项,没有一个控制台窗口。
如果你不能打扰到了在一个项目中,调用ShowWindow (GetConsoleWindow(), SW_HIDE);
将使它在屏幕上闪烁,然后消失。 请注意,您必须#define _WIN32_WINNT
为0x0500
包括WINDOWS.H有机会获得之前或更大GetConsoleWindow()
我会回来的位与特定位置来禁用它。
//hide console window at start
#define _WIN32_WINNT 0x0501 //this is for XP
#include <windows.h>
int main()
{
ShowWindow (GetConsoleWindow(), SW_HIDE);
//rest of program here
}
编辑:找到它,这里是如何没有一个控制台窗口:
- 单击代码块菜单上的项目。
- 单击属性。
- 点击第二个选项卡,构建目标。
- 在右边,在那里它说类型:控制台应用程序,将其更改为GUI应用程序。
- 重建该项目。
文章来源: How to get ride of console box of a GUI program compile by MinGW + Code::Block