【发布时间】:2018-12-28 11:37:24
【问题描述】:
我在 Windows 上有一个 C 应用程序,它需要在某些情况下启动另一个应用程序。我已经能够使用以下代码行成功启动另一个应用程序,但第一个应用程序(父)和新应用程序(子)使用相同的窗口。我希望他们有单独的窗口。我该怎么做?
我启动子应用的代码是:
char *app_path = "path\\my_app.exe";
char *app_arg = "arg";
if (-1 == _spawnl(P_NOWAITO, app_path,app_arg,NULL))
{
printf_s("\nUnable to start the app. Error code %d", errno);
}
else
{
printf_s("\App started successfully.");
}
注意:子应用不是真正的子应用,除非它是由“父级”启动的。
【问题讨论】:
-
同一个窗口?!怎么会这样?可以发个截图吗?
-
这两个应用程序是否都在控制台窗口中运行?
-
@usr2564301 是的。
-
好的,你的意思是两个进程的文本输出发生在同一个控制台窗口中。没什么可做的,但您也许可以使用参数
/C path\\my_app.exe arg生成cmd.exe,而不是直接生成app.exe。 -
@Ctx 它解决了它。你愿意把它写成答案,这样我就可以接受了吗?
标签: c windows console-application spawn createprocess