如何摆脱控制台窗口

How to get rid of the console window

本文关键字:窗口 控制台 何摆脱      更新时间:2023-10-16

我试着用这个代码做一个简单的MessageBox:

#include <windows.h>
int main() {
  MessageBox(NULL, "Hello", "Message Box", MB_OKCANCEL);
}

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

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

是的,为"windows"子系统编译。以下是在多个ide上执行此任务的说明。

  1. 不要使用dev - c++;使用一个像样的IDE代替。
  2. 编译WINDOWS子系统,而不是CONSOLE子系统。即使是头脑迟钝的dev - c++也应该有这样的选择(入口点应该被称为WinMain -参见任何关于Windows编程的介绍)。

给你

#include <Windows.h>
int main() {
HWND hwnd;
AllocConsole();
hwnd = FindWindowA("ConsoleWindowClass", NULL);
ShowWindow(hwnd, 0);
MessageBox(NULL, "Hello", "Message Box", MB_OKCANCEL);
ShowWindow(hwnd, 0);
}