Как открыть отдельные консоли командной строки для двух отдельных вызовов API CreateProcess()
У меня есть caller.EXE, из которого я делаю 2 вызова API-интерфейсов CreateProcess(), подобных этому. Оба API-интерфейса CReateProcess() пытаются запустить EXE-файлы консольных приложений.
Caller.cpp (Caller.EXE) has teh following code in it::
...................
..................
CReateProcess( Callee_1) // For launching a console EXE which starts running in the same CMD prompt window where I've the main "CAller.EXE" running.
..............
<Few lines of C++ logic>
........
CReateProcess(Callee_2) // For launching another console EXE .
Теперь проблема в том, что я хочу 2-й CreateProcess(Callee_2)
вызов на самом деле запустить другую командную строку, но здесь происходит то, что 2-й CreateProcess(Callee_2)
вызов не запускает другую подсказку CMD. Та же самая подсказка CMD выполняет Callee_1
в этом.
Я вижу это в своем коде звонящего CreateProcess()
успешен для обоих времен.
Хочу 2й CreateProcess(Callee_2)
вызов, чтобы фактически запустить другую командную строку. Как мне этого добиться? Я думаю, что я должен дать его как часть входных параметров дляCreatyeProcess(Callee_2)
вызов.
1 ответ
Я не очень разбираюсь в Windows или MSDN, но, насколько я помню,
CReateProcess( Callee_1)
который на самом деле должен быть CreateProcess()
, взят один параметр DWORD fdwCreate
, где,
CREATE_NEW_CONSOLE
может использоваться для указания того, что новый процесс должен иметь новую консоль, а не наследовать консоль родителя.
Может быть, эта ссылка полезна для вас.