可能重复:
Create an Application without a Window
Win32 programming hiding console window
如何隐藏运行C ++程序时出现的控制台窗口?程序不向stdout输出任何内容,每次运行程序时都不需要出现黑色窗口。我不希望它被最小化我希望它是隐形的。有什么想法吗?
答案 0 :(得分:16)
如果您想隐藏控制台,可以在Windows上调用FreeConsole
#include <Windows.h>
int main()
{
FreeConsole();
//other stuff
}
正如大卫所说,这可能会暂时闪现。如果您不想要,可以创建windows service或Windows GUI应用程序,而不是创建如下窗口
#include <windows.h>
int WinMain(HINSTANCE hInstance,
HINSTANCE hPrevInstance,
LPTSTR lpCmdLine,
int nCmdShow)
{
//do stuff here
return 0;
}
答案 1 :(得分:5)
听起来问题是您正在创建一个控制台应用程序。它们默认配有控制台。它们要么继承调用它们的进程的控制台,如果它有一个,要么创建一个新的控制台。
您应该使应用程序成为GUI子系统而不是控制台子系统。这并不意味着您必须显示任何GUI。制作一个以GUI子系统为目标但不显示任何窗口的应用程序是完全合理和普遍的。