如何在Windows上从C中的另一个程序启动一个独立程序(在单独的控制台窗口中)?

时间:2018-12-28 11:37:25

标签: c windows console-application spawn createprocess

我在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.");
    }

N.B:子应用程序不是真正的子应用程序,只是由“父母”启动。

1 个答案:

答案 0 :(得分:1)

您可以像这样启动程序:

status

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."); } 是cmd内置的,它将在新窗口中启动以下命令。