用C++隐藏黑色窗口

dsy*_*nkd 5 c c++ console command-prompt

可能重复:
创建没有Window Win32编程隐藏控制台窗口的应用
程序

如何隐藏运行C++程序时出现的控制台窗口?程序不向stdout输出任何内容,每次运行程序时都不需要出现黑色窗口.我不希望它被最小化我希望它是隐形的.有任何想法吗?

par*_*mar 16

如果要隐藏控制台,可以在Windows上调用FreeConsole

#include <Windows.h>

int main()
{
    FreeConsole();
    //other stuff
}
Run Code Online (Sandbox Code Playgroud)

正如大卫所说,这可能会暂时闪现.如果您不想要,您可以创建一个Windows服务或Windows GUI应用程序,而不是创建如下所示的窗口

#include <windows.h>

int WinMain(HINSTANCE hInstance,
                     HINSTANCE hPrevInstance,
                     LPTSTR    lpCmdLine,
                     int       nCmdShow)
{
    //do stuff here
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

  • 这仍然显示控制台窗口瞬间 (3认同)

Dav*_*nan 5

听起来问题是你正在创建一个控制台应用程序.它们默认配有控制台.它们要么继承调用它们的进程的控制台,如果它有一个,要么创建一个新的控制台.

您应该使应用程序成为GUI子系统而不是控制台子系统.这并不意味着您必须显示任何GUI.制作一个以GUI子系统为目标但不显示任何窗口的应用程序是完全合理和普遍的.