Как открыть отдельные консоли командной строки для двух отдельных вызовов 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

может использоваться для указания того, что новый процесс должен иметь новую консоль, а не наследовать консоль родителя.

Может быть, эта ссылка полезна для вас.

Другие вопросы по тегам