[英]How to launch console application using CreateProcess with Minimized main window
我有一個本機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塊0中的所有參數。此代碼在啟動進程時工作正常。 但是,我需要能夠在最小化窗口的情況下啟動Windows c ++控制台應用程序。
如果我將CREATE_NO_WINDOW添加到Process Create Flags,我可以在沒有任何窗口的情況下啟動進程。 這是不可接受的。
在我的研究中,似乎沒有辦法強制控制台應用程序以最小化模式打開。 它是否正確?
是的,我知道我可以在他們自己的進程中最小化子應用程序窗口,但是,團隊中的其他程序員不喜歡這樣做。
您需要在STARTUPINFO結構中指定您希望最初最小化控制台窗口:
ZeroMemory(&si);
si.cb = sizeof(STARTUPINFO);
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = SW_MINIMIZE;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.