gpt4 book ai didi

c++ - 如何使用带有最小化主窗口的 CreateProcess 启动控制台应用程序

转载 作者:可可西里 更新时间:2023-11-01 13:29:58 26 4
gpt4 key购买 nike

我有一个 native C++ Windows 应用程序,它使用以下代码启动两个子进程 -

if (!CreateProcess(NULL, // No module name (use command line)
cmdLine, // szCmdline, // Command line
NULL, // Process handle not inheritable
NULL, // Thread handle not inheritable
false, // Set handle inheritance to FALSE
CREATE_DEFAULT_ERROR_MODE | NORMAL_PRIORITY_CLASS // Process Create Flags
NULL, // Use parent's environment block
NULL, // workingDir, // Use parent's starting directory
&si, // Pointer to STARTUPINFO structure
&pi) // Pointer to PROCESS_INFORMATION structure

所有参数都在 STARTUPINFO block 0 中。此代码在启动进程时运行良好。但是,我需要能够在最小化窗口的情况下启动 Windows C++ 控制台应用程序。

如果我将 CREATE_NO_WINDOW 添加到 Process Create Flags,我可以在没有任何窗口的情况下启动进程。这是 Not Acceptable 。

在我的研究中,似乎没有办法强制控制台应用程序以最小化模式打开。这是正确的吗?

是的,我知道我可以从他们自己的进程中最小化子应用程序窗口,但是,团队中的其他程序员不愿意这样做。

最佳答案

您需要在 STARTUPINFO 中指定您希望控制台窗口最初最小化的结构:

ZeroMemory(&si);
si.cb = sizeof(STARTUPINFO);
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = SW_MINIMIZE;

关于c++ - 如何使用带有最小化主窗口的 CreateProcess 启动控制台应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4380575/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com