如何摆脱控制台窗口

Posted

技术标签:

【中文标题】如何摆脱控制台窗口【英文标题】:How to get rid of the console window 【发布时间】:2011-09-22 12:53:35 【问题描述】:

我尝试使用此代码制作一个简单的MessageBox

#include <windows.h>

int main() 
  MessageBox(NULL, "Hello", "Message Box", MB_OKCANCEL);

但是在使用 MinGW 工具链在 Dev-C++ IDE 中构建它时,我会在 MessageBox 后面弹出一个控制台窗口。

有没有办法摆脱这个控制台窗口?

【问题讨论】:

您可能应该使用更新的 IDE。 Code::Blocks 可能是现代的 Dev-C++ 等价物。 【参考方案1】:

是的,为“windows”子系统编译。这里是instructions for performing this task on multiple IDEs。

【讨论】:

-1:很好,一个关于 Visual Studio 的关于 MinGW GCC 的问题的答案。 @TomalakGeret'kal:这与 Visual Studio 无关,它是 Windows 可执行文件格式的一部分。 切换到 Visual Studio 编译器与 Visual Studio 有关。您的编辑要好得多。 @TomalakGeret'kal:我使用术语“子系统”,因为它是微软术语的一部分。其他人编辑了我的帖子并包含了 Visual Studio 开关的链接。我在删除该链接时添加了几个 IDE 的说明。 太棒了!我现在看到那是@jeffamaphone 得意忘形了。感谢您的贡献。【参考方案2】:
    不要使用 Dev-C++;改用像样的 IDE。 为 WINDOWS 子系统而不是 CONSOLE 编译。即使是脑残的 Dev-C++ 也应该有这个选项(入口点应该称为 WinMain - 请参阅任何 Windows 编程介绍)。

【讨论】:

以上是关于如何摆脱控制台窗口的主要内容,如果未能解决你的问题,请参考以下文章

Tkinter 用窗口打开控制台窗口

使用 Pyinstaller 冻结 Python 程序时摆脱控制台输出

在 C 中使用 gtk 编写 GUI 程序时如何摆脱控制台?

使用 Next.js 摆脱 redux 包装器中的控制台日志

Haskell - 我如何摆脱互动?

如何摆脱 Connect 3.0 弃用警报?