Форум программистов, компьютерный форум, киберфорум
Наши страницы
С++ для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
comrade
1

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

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

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

Как запустить процесс с параметрами
Не могу запустить процесс с параметрами. system("D:\\Program Files\\GTASA\\samp.exe -c -h...

Как запустить процесс и контролировать его
Привет. Я новичок. Я хочу попробовать запускать внешнюю программу из своей (допустим, это будет...

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

Как запустить скрипт, не прерывая исполняющий?
Как можно запустить скрипт не прерывая исполняющий, к примеру у меня есть скрипт test.php и при...

Когда процесс пропал, как - по таймеру - запустить программу снова?
Здравствуйте. Уважаемые форумчане. У меня есть программа (назовем ее "123"), которая запускает одну...

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

(круглый)
0
xedin
24.07.2011, 14:20 3
ShellExecute
comrade
24.07.2011, 14:54 4
XEDIN - преогромнейшее спасибо!
Ghost
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.
xedin
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);
}
03.08.2011, 12:26
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
03.08.2011, 12:26

Как запустить программу как фоновый процесс
Здравствуйте! Нужно написать программу, которая будет запускаться как фоновый процесс, то есть...

Как запустить процесс?
Process.Start(&quot;execute.exe&quot;) Пробовал но когда загружалась форма сам процесс не запускался...........

Как запустить процесс
Хочу с формы запустить файл мп3. Какой контрол позволяет запустить файл... любой(файл)? Думал...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

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