gpt4 book ai didi

c++ - 如何使用 MinGW + Code::Block 编译的 GUI 程序的控制台框

转载 作者:可可西里 更新时间:2023-11-01 18:19:06 32 4
gpt4 key购买 nike

当我在 MinGW+MSys 中使用命令行编译并运行一个简单的 Win32 GUI 程序时:

$ g++ main.cpp -o app -std=c++0x

$./app

只显示一个对话框。但是当我把这个程序放入 Code::Blocks IDE 并编译它时,它总是会产生一个带有对话框的黑色控制台框。在链接选项中添加 -mwindows 无效。

ma​​in.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); 将使它在屏幕上闪烁然后消失。请注意,在包含 windows.h 之前,您必须将 #define _WIN32_WINNT 设置为 0x0500 或更高版本才能访问 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. 点击第二个选项卡,Build Targets。
  4. 在右侧,显示类型:控制台应用程序的地方,将其更改为 GUI 应用程序。
  5. 重建项目。

关于c++ - 如何使用 MinGW + Code::Block 编译的 GUI 程序的控制台框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10003777/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com