Как запустить независимую программу (в отдельном окне консоли) из другой программы на C в Windows? - PullRequest
0 голосов
/ 28 декабря 2018

У меня есть приложение C в 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.");
    }

Примечание: дочернее приложение на самом деле не является дочерним приложением, за исключением того, что оно запускается "родителем".».

1 Ответ

0 голосов
/ 28 декабря 2018

Вы можете запустить вашу программу следующим образом:

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 - это встроенная команда, запускающая следующую команду в новом окне.

...