Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
comrade
Сообщений: n/a
#1

Как не прерывая программу запустить процесс? - C++

24.07.2011, 11:25. Просмотров 1031. Ответов 5
Метки нет (Все метки)

День добрый, есть проблема следующего плана:
Необходимо программно (по результатам выбора пользователя) последовательно запустить несколько .exe - файлов. При пользовании командой _execl запускается соответствующий процесс, но при этом вызывающая его программа завершается. Как можно запустить чужие процессы параллельно вызывающей программе?
Спасибо!
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
24.07.2011, 11:25     Как не прерывая программу запустить процесс?
Посмотрите здесь:

Как запустить процесс с параметрами - C++
Не могу запустить процесс с параметрами. system("D:\\Program Files\\GTASA\\samp.exe -c -h 228.1337.228.1337 -p 1337"); При такой...

Как запустить процесс и контролировать его - C++
Привет. Я новичок. Я хочу попробовать запускать внешнюю программу из своей (допустим, это будет some.exe) и контролировать исходящие пакеты...

Как можно ввести с клавиатуры символ не прерывая цикл в программе - C++
Ввод символа. Здравствуйте. У меня вопрос о том, как можно ввести с клавиатуры символ не прерывая цикл в программе. То есть, у меня...

Как запустить программу в DevC++? - C++
Как в Del C++ попробовать свою программу, ну как бы запустить свою программу в самой Del C++?

Как запустить программу из программы на C++ - C++
Как из программы , написанной на с++ запустить другую программу(передать ей аргументы) и получить результат обратно в первую программу?

Как запустить программу с параметрами? - C++
Как запустить программу: srcds.exe ( путь D:\csserver\server) С параметрами: -console -game cstrike -port 27015 +maxplayers 24 +map...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
kolobok0
46 / 46 / 8
Регистрация: 24.01.2010
Сообщений: 225
24.07.2011, 13:35     Как не прерывая программу запустить процесс? #2
Рекомендую заглянуть в книгу 'Windows для проффесионалов' Рихтер.

(круглый)
xedin
Сообщений: n/a
24.07.2011, 14:20     Как не прерывая программу запустить процесс? #3
ShellExecute
comrade
Сообщений: n/a
24.07.2011, 14:54     Как не прерывая программу запустить процесс? #4
XEDIN - преогромнейшее спасибо!
Ghost
Сообщений: n/a
02.08.2011, 22:50     Как не прерывая программу запустить процесс? #5
comrade - ну это просто сенсация ))) ты документацию читаешь? )
вот выдержка из MSDN - обрати внимание на ПРЕДПОСЛЕДНЕЕ предложение.

Load and execute new child processes.

intptr_t _execl(
const char *cmdname,
const char *arg0,
... const char *argn,
NULL
);
intptr_t _wexecl(
const wchar_t *cmdname,
const wchar_t *arg0,
... const wchar_t *argn,
NULL
);
Parameters
cmdname
Path of file to be executed.
arg0, ... argn
List of pointers to parameters.
Return Value
If successful, these functions do not return to the calling process. A return value of –1 indicates an error, in which case the errno global variable is set.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.08.2011, 12:26     Как не прерывая программу запустить процесс?
Еще ссылки по теме:

Как запустить программу на другом компьютере? - C++
Создаём пустой проект windows form. Что надо выставить в компиляторе что бы программа 1) упаковала все ресурсные файлы в 1ин экзешник ...

Как запустить программу из .bat файла? - C++
Пользуюсь DevC++, хочу узнать как с помощью батника открыть написанную прогу? Гуглил, опыта нету совсем.

Как запустить из программы на с++ стороннюю программу? - C++
Как запустить из программы стороннюю программу и открыть в ней конкретный файл?

Как запустить программу на C++ написанную в VS 2008 - C++
Собственно такая проблема. Пытаюсь изучать MFC. Создаю в студии новый проект вин32, подключаю библиотеку MFC, код вот такой: файл app.h ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
xedin
Сообщений: n/a
03.08.2011, 12:26     Как не прерывая программу запустить процесс? #6
А зачем использовать функции, оставленные для переноса UNIX-кода в новом виндовом приложении?
UNIX Application Migration Guide:
Creating a process in UNIX using fork and exec

Код
#include <unistd.h>
#include <stdio.h>
#include <sys/types.h>

int main()
{
    pid_t pid;

    printf('Running ps with fork and execlp
');
    pid = fork();
    switch(pid) 
    {
    case -1:
        perror('fork failed');
        exit(1);
    case 0:
        if (execlp('ps', NULL) < 0) {
            perror('execlp failed');
            exit(1);
        }
        break;
    default:
        break;
    }
    printf('Done.
');
    exit(0);
}
You can port this code to Windows using the Win32 CreateProcess function discussed earlier, or by using a spawn function from the standard C runtime library. In both cases, the old and new processes run parallel, asynchronously.
Creating a process in Windows using CreateProcess
Код
#include <windows.h>
#include <process.h>
#include <stdio.h>

void main()
{
    STARTUPINFO    si;
    PROCESS_INFORMATION  pi;

    GetStartupInfo(&si);

    printf('Running Notepad with CreateProcess
');
    CreateProcess(NULL, 'notepad',  // Name of app to launch
  NULL,      // Default process security attributes
  NULL,      // Default thread security attributes
  FALSE,      // Don't inherit handles from the parent
  0,      // Normal priority
  NULL,      // Use the same environment as the parent
  NULL,      // Launch in the current directory
  &si,      // Startup Information
  &pi);      // Process information stored upon return

    printf('Done.
');
    exit(0);
}
Yandex
Объявления
03.08.2011, 12:26     Как не прерывая программу запустить процесс?
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru