如何获得一个GUI程序的储物箱的乘用MinGW的+代码::块编译(How to get ride o

2019-06-23 09:47发布

当我编译和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;
}

我怎样才能摆脱储物箱的?

Answer 1:

把它放在一个项目,在项目设置中有一个选项,没有一个控制台窗口。

如果你不能打扰到了在一个项目中,调用ShowWindow (GetConsoleWindow(), SW_HIDE); 将使它在屏幕上闪烁,然后消失。 请注意,您必须#define _WIN32_WINNT0x0500包括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
}

编辑:找到它,这里是如何没有一个控制台窗口:

  1. 单击代码块菜单上的项目。
  2. 单击属性。
  3. 点击第二个选项卡,构建目标。
  4. 在右边,在那里它说类型:控制台应用程序,将其更改为GUI应用程序。
  5. 重建该项目。


文章来源: How to get ride of console box of a GUI program compile by MinGW + Code::Block