Запуск приложений из работающего приложения

Вобщем имеется приложение которое по истечению определенного времени должно запускать другое предложение(генератор), передавая ему параметр. Генератор выполнив свои действия, должен был бы известить приложение-родителя об удачном либо не удачном выполнении и передать управление.Вопрос: можно ли это сделать стандартными средствами С++? Если да то краткий пример кода. Если нет то код желательно тоже...
4 ответа

ну если стандартными средствами то юзай функцию system()
#include <process.h>system("prg.exe -225"); //при условии что prg.exe - в той же папке шты и сама прога, иначе прописывай путь.
зы.если через WinAPI тоCreateProcess();ShellExecute();ShellExecuteEx();WinExec();


Может, с целью максимальной переносимости, использовать семейство функций _exec из CRT?


Стандартными средствами WinAPI это можно сделать следующим образом:
/* Функция запускает приложение и ждет его завершения. * Возвращает TRUE если удалось запустить приложение и дождаться его завершенеия, * при этом app_exit_code содержит exit code приложения. Если функция вернула FALSE, * функция GetLastError() может быть использована, для получения кода ошибки. */BOOLstart_application(LPTSTR app_name, DWORD *app_exit_code){  STARTUPINFO si;                  /* см. MSDN */  PROCESS_INFORMATION pi; /* см. MSDN */    /* Инициализируем возвращаемое значение */  app_exit_code = 1;  /* Инициализиреум структуры (совсем забыл про них, ай-ай-ай!) */  memset(&si, 0, sizeof(si));  memset(&pi, 0, sizeof(pi));  /* Запускаем приложение */  if (!CreateProcess(NULL,             appname,             NULL,             NULL,             TRUE,             0,             NULL,             NULL,             &si,             &pi))    return FALSE;    CloseHandle(pi.hThread);  /* Ждем завершения приложения */  if (!WaitForSingleObject(pi.hProcess,                          INFINITE) != WAIT_OBJECT_0)    /* Приложение завершилось с ошибкой      * (приложение вернуло отличное от 0 значение).     * Получаем возвращаемое число.     */      GetExitCodeProcess(pi.hProcess, app_exit_code);  CloseHandle(pi.hProcess);  return TRUE;}


#include 
лучше использовать stdlib.h
system("prg.exe -225"); //при условии что prg.exe - в той же папке шты и сама прога, иначе прописывай путь.
//генератор использует exit status (return 0/1/...), чтобы сообщить о результате//числовой параметр можно заранее преобразовать в ********* res = system("prg.exe -225");