[英]Hiding command prompt while starting a process in C++
我必須從我的C ++代碼開始一個過程。 我正在使用CreateProcess()函數,我在startupinfo結構中設置了以下標志。 但仍然顯示命令提示符,我必須手動關閉以繼續。 請告訴我如何在啟動過程中隱藏此命令提示符。
si.cb = sizeof(STARTUPINFO);
si.dwFlags = STARTF_USESHOWWINDOW;
si.wShowWindow = SW_HIDE;
create process調用如下所示:
CreateProcess( NULL, // No module name (use command line)
exe, // Command line
NULL, // Process handle not inheritable
NULL, // Thread handle not inheritable
FALSE, // Set handle inheritance to FALSE
CREATE_NEW_CONSOLE, // No creation flags
NULL, // Use parent's environment block
NULL, // Use parent's starting directory
&si, // Pointer to STARTUPINFO structure
&pi );
exe是一個包含要啟動的進程名稱的字符串。
請告訴我如何在啟動過程中隱藏此命令提示符。 我嘗試了這里描述的方法,但它不起作用。 我有一個Windows 7系統。
謝謝,拉克什。
您正在傳遞CREATE_NEW_CONSOLE
而您不需要新的控制台窗口。 似乎答案是完全明顯的。 但是,如果其他進程本身創建了一個控制台,那么你就無法阻止它。 如果您通過Explorer啟動該過程會發生什么?
正如MSalters所說, CREATE_NEW_CONSOLE
不是你想要的。 但是您可能還想將CREATE_NO_WINDOW
傳遞給CreateProcess
函數。 有關可以作為標志傳遞給CreateProcess
,請參閱MSDN文檔 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.