如何为两个单独的CreateProcess()API调用打开单独的命令提示符控制台

时间:2014-12-05 09:27:11

标签: c++ visual-c++ cmd createprocess

我有一个caller.EXE,在其中我执行2次调用“CreateProcess()API”。两个CReateProcess()API都试图启动控制台应用程序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 .

现在的问题是我希望第二个CreateProcess(Callee_2)调用实际启动一个不同的命令提示符,但这里发生的是第二个CreateProcess(Callee_2)调用没有启动anotehr CMD提示符。相同的CMD提示会在其中执行Callee_1

我看到我的来电代码CreateProcess()在两次都成功了。

我希望实际进行第二次CreateProcess(Callee_2)调用 启动不同的命令提示符。我如何实现这一目标?我想我 应该把它作为输入参数的一部分 CreatyeProcess(Callee_2)致电。

1 个答案:

答案 0 :(得分:2)

我对Windows或MSDN知之甚少,但据我记忆,

CReateProcess( Callee_1)

实际应该是CreateProcess(),取一个参数DWORD fdwCreate,其中,

CREATE_NEW_CONSOLE

可用于指定新进程应具有新控制台,而不是继承父控制台。

也许this链接对您有所帮助。