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

Запустить параллельного приложения / Запуск приложения в новом консольном окне - C++

Восстановить пароль Регистрация
 
rcyn
13 / 9 / 2
Регистрация: 30.01.2014
Сообщений: 47
05.04.2014, 13:22     Запустить параллельного приложения / Запуск приложения в новом консольном окне #1
Доброго времени суток!

Хотел спросить как в коде консольного приложения запустить ещё одно консольное приложение, так чтобы оно работало параллельно?

т.е., например:

Iface.exe запускает Calc.exe, Calc.exe начинает свою работу (допустим в новом консольном окне, или вообще в фоновом режиме), а Iface.exe продолжает работать дальше, не ожидая пока Calc.exe завершит свою работу.

Заранее спасибо!
Лучшие ответы (1)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
05.04.2014, 13:22     Запустить параллельного приложения / Запуск приложения в новом консольном окне
Посмотрите здесь:

Visual C++ Вывод float в окне MFC приложения VS2008EE
C++ Запуск приложения с условием и параметром
Как из своего приложения запустить MSProject? C++
C++ Запуск приложения из приложения
C++ Запуск приложения от имени пользователя, Запуск приложения от имени пользователя
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
stima
430 / 285 / 16
Регистрация: 22.03.2011
Сообщений: 928
Завершенные тесты: 1
05.04.2014, 14:01     Запустить параллельного приложения / Запуск приложения в новом консольном окне #2
Сообщение было отмечено автором темы, экспертом или модератором как ответ
Судя по расширению у Вас Windows, а значит CreateProcess()
rcyn
13 / 9 / 2
Регистрация: 30.01.2014
Сообщений: 47
05.04.2014, 16:10  [ТС]     Запустить параллельного приложения / Запуск приложения в новом консольном окне #3
stima,
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
   STARTUPINFO cif;
   ZeroMemory(&cif,sizeof(STARTUPINFO));
   PROCESS_INFORMATION pi;
 
   LPTSTR cmndLine =  charToWChar(callString.str().c_str());
 
   if (CreateProcess(NULL, cmndLine, NULL, NULL, NULL, NULL, NULL, NULL, &cif, &pi) == true)
   {
       std::cout << "Proccess " << PATH_TO_EXE << " created" << std::endl;
   } 
   else
   {
      std::cout << "Proccess " << PATH_TO_EXE << " NOT created" << std::endl;
   }
процесс запускается, в фоновом режиме, а как сделать так чтобы Calc.exe запускался в отдельном консольном окне (чтобы дебажить удобдней было) ?
stima
430 / 285 / 16
Регистрация: 22.03.2011
Сообщений: 928
Завершенные тесты: 1
05.04.2014, 16:42     Запустить параллельного приложения / Запуск приложения в новом консольном окне #4
Во первых, если calc.exe это стандартный Windows калькулятор, то у него нет консольного представления. Во вторых, не понятно как вы трактуете фоновый режим. И в третьих, насколько мне известно, в windows не существует отладки порожденных процессов.
Используйте "attach to process" с id Вашего нового порожденного процесса. Но я напоминаю, что Вашему дебагеру должны быть известны символы дебага, иначе получите асс код.
Yandex
Объявления
05.04.2014, 16:42     Запустить параллельного приложения / Запуск приложения в новом консольном окне
Ответ Создать тему
Опции темы

Текущее время: 13:35. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru