我想運行一個使用CreateProcess(...)的進程並在獨立的控制檯窗口中獨立運行它。CreateProcess在Windows 7下不會創建額外的控制檯窗口?
我可以使用system(「...」)函數實現這個功能,但我更喜歡CreateProcess,因爲它使我可以指定環境和工作目錄,獲取進程的句柄以及管道stdin /當我需要的時候。
我在互聯網上發現的所有問題都是相反的問題,即人們有額外的控制檯窗口並希望擺脫它們!看來在早期版本的Windows中打開並顯示新的控制檯窗口是正常行爲?
現在,我無法獲得額外的窗口,即使我跑「的cmd.exe/c ...」
我嘗試使用STARTF_USESHOWWINDOW標誌,沒有運氣。
有沒有人有這個問題?
PS .:顯示GUI窗口,例如: notepad.exe將正常顯示。
這是我的代碼(本質)
PROCESS_INFORMATION processInfo;
STARTUPINFOA startupInfo;
ZeroMemory(&startupInfo,sizeof(startupInfo));
startupInfo.dwFlags |= CREATE_NEW_CONSOLE;
startupInfo.dwFlags |= DETACHED_PROCESS;
ok&=CreateProcessA(NULL,
const_cast<char*>(comand.c_str()), // safe for CreateProcessA
NULL, NULL, TRUE, NULL, NULL, NULL,
&startupInfo, &processInfo);
我試圖運行C:/Windows/system32/cmd.exe/C有助於 的程序運行,並可以閱讀從輸出管。還沒有窗戶。