如何在 Windows 上从 C 中的另一个程序启动独立程序(在单独的控制台 window 中)?
How to start an independent program(in a separate console window) from another program in C on Windows?
我在 Windows 上有一个 C 应用程序,它需要在某些情况下启动另一个应用程序。我已经能够使用以下代码行成功启动另一个应用程序,但第一个应用程序(父)和新应用程序(子)使用相同的 window。我希望他们有单独的 windows。我该怎么做?
我启动子应用程序的代码是:
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.");
}
N.B:子应用不是真正的子应用,只是它是由 "parent" 启动的。
您可以这样启动程序:
char *cmd_args = "/C C:\Users\Administrator\Desktop\my_app.exe app_arg";
if (-1 == _spawnl(P_NOWAITO, "C:\Windows\System32\cmd.exe", cmd_args,NULL))
{
printf_s("\nUnable to start the app. Error code %d", errno);
}
else
{
printf_s("\App started successfully.");
}
start
是一个 cmd-builtin,它将在新的 window.
中启动以下命令
我在 Windows 上有一个 C 应用程序,它需要在某些情况下启动另一个应用程序。我已经能够使用以下代码行成功启动另一个应用程序,但第一个应用程序(父)和新应用程序(子)使用相同的 window。我希望他们有单独的 windows。我该怎么做?
我启动子应用程序的代码是:
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.");
}
N.B:子应用不是真正的子应用,只是它是由 "parent" 启动的。
您可以这样启动程序:
char *cmd_args = "/C C:\Users\Administrator\Desktop\my_app.exe app_arg";
if (-1 == _spawnl(P_NOWAITO, "C:\Windows\System32\cmd.exe", cmd_args,NULL))
{
printf_s("\nUnable to start the app. Error code %d", errno);
}
else
{
printf_s("\App started successfully.");
}
start
是一个 cmd-builtin,它将在新的 window.