我正在运行C++控制台应用程序,
在一段时间内
我想最小化运行我的应用程序的窗口。
例如我从cmd启动myApp.exe。然后在新窗口中启动。
那么可以最小化运行应用程序的窗口的库是什么。
应用程序没有任何GUI

最佳答案

我想您的应用程序正在Windows上运行(这不能跨不同的操作系统移植)。

首先,您需要使用GetConsoleWindow()函数来获取“控制台”窗口的句柄,然后可以根据需要使用ShowWindow()对其进行隐藏/显示。不要忘记包括windows.h:

ShowWindow(GetConsoleWindow(), SW_MINIMIZE);

可以使用SW_MINIMIZE完全隐藏它(而不是SW_HIDE)(但在应用程序刚启动时它将闪烁一次)。

请注意,如果您可以控制进程的创建,则可以将其创建为DETACHED_PROCESS:分离的控制台应用程序没有控制台窗口。 CreateProcess()函数还有您可能感兴趣的其他解决方法(例如,您可以创建一个子进程以输出...)

更新:作为Patrick's answer的后续工作,您可以将子系统从Console更改为Windows,然后,如果需要写入控制台,请使用AllocConsole创建一个新的子系统:
if (AllocConsole()) {
    printf("Now I can print to console...\n");
    FreeConsole();
}

关于c++ - 如何最小化控制台窗口?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23514897/

10-15 16:02