(我搜索了SO的答案,发现这个问题没有明确的解决方案。)
我正在研究MFC GUI程序。该程序运行各种子程序,包括控制台程序和shell命令脚本(.cmd)。
最初它显示了一个GUI窗口和一个控制台窗口(使用 AllocConsole
)因为子进程有很多控制台输出。但许多用户抱怨控制台窗口,所以我们决定隐藏控制台窗口。
首先尝试如下:
if (AllocConsole())
{
::ShowWindow(::GetConsoleWindow(), SW_HIDE);
}
好的,没有控制台窗口,但在控制台创建时有可见的闪烁。
我试了好几个 CreateProcess
子进程创建的选项,以防止完全显示控制台窗口,但总之失败,我认为这几乎是不可能的。
这不是什么大不了的事。我们可以在启动时忽略临时窗口闪烁。
但完全隐藏儿童游戏机窗口真的不可能吗?