Форум программистов, компьютерный форум, киберфорум
C++/CLI Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
 Аватар для Nalik
176 / 124 / 49
Регистрация: 30.11.2012
Сообщений: 1,330

Управляющая программа, вызов с помощью Process::Start()

22.01.2015, 10:38. Показов 2372. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть 3 программы.
prog1.exe, prog2.exe, ypr_prog.exe.
Суть такая.
Если запустить prog1.exe то она запускает калькулятор.
Если запустить prog2.exe то она запускает блокнот.
Если запустить ypr_prog.exe то она должна запустить prog1.exe и prog2.exe, а prog1.exe и prog2.exe в свою очередь должны запустить калькулятор и блокнот.

Но получается так:
Если запускать prog1.exe или prog2.exe напрямую, то все ок калькулятор и блокнот открываются.
Но если запускать ypr_prog.exe, то prog1.exe и prog2.exe запускаются, но калькулятор с блокнотом нет.

Почему так, подскажите пожалуйста?

prog1.exe
C++
1
2
LOG->Text = "Запускаю калькулятор" ;
Process::Start("calc.exe");
prog2.exe
C++
1
2
LOG->Text = "Запускаю блокнот" ;
Process::Start("notepad.exe");
ypr_prog.exe
C++
1
2
3
Process::Start("D:\\prog1.exe");
Sleep(5000);
Process::Start("D:\\prog2.exe");
Тестировал на Windows XP. Чувствую что ответ где-то рядом, но догнать пока что не могу.. Буду признателен за помощь!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
22.01.2015, 10:38
Ответы с готовыми решениями:

Process::Start("IExplorer.exe", "www.yandex.ru");
Народ, всем привет! Я, нажатием кнопки пытаюсь запустить internet explorer, при этом на кнопку я поставил код...

Класс Process. Множественный вызов Start() и метод Refresh()
Есть экземпляр класса Process. Перенаправлены потоки ввода/вывода. После завершения выполнения Start() -> WaitForExit(), если снова...

Отловить ошибку внешнего приложения, запускающегося с помощью process.Start
Runtime error-программа завершила работу аварийно или с ненулевым кодом возврата Нужно отловить ошибку внешнего приложения запускающегося...

2
0 / 0 / 0
Регистрация: 22.01.2015
Сообщений: 3
22.01.2015, 11:10
как вариант использовать WinApi
C++
1
ShellExecute( hDlg, "open", "patch", NULL, NULL, SW_SHOWNORMAL);
0
 Аватар для Nalik
176 / 124 / 49
Регистрация: 30.11.2012
Сообщений: 1,330
22.01.2015, 12:35  [ТС]
Цитата Сообщение от RAZORED Посмотреть сообщение
как вариант использовать WinApi
Здорово и правда получилось. Но почему Process::Start не работает интересно?

Я не очень знаком с ShellExecute, не подскажите как правильно запустить файл если прописывать путь не в коде программы, а в TextBox или в текстовом файле, у меня не получается преобразовать данные.

C++
1
2
3
String ^PYT_CHTENIE; //строка для считывания из textBox
PYT_CHTENIE = PYT_TEXTBOX->Text; //занести текст из textBox в переменную
ShellExecute( Handle,L"open", L"calc.exe",0, (LPCWSTR)PYT_CHTENIE,SW_SHOWNORMAL); //запустить
Выдает ошибку:
error C2440: приведение типов: невозможно преобразовать "System::String ^" в "LPCWSTR"
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
22.01.2015, 12:35
Помогаю со студенческими работами здесь

Программа, запущенная посредством Process.Start не создает в своей директории необходимые файлы
Всем привет, запускаю программу с помощью, System.Diagnostics.Procces.Start("soft.exe"); При запуске soft.exe, создает 2 библеотеки...

IntelliJ IDEA. Cannot start process
Добрый день всем программистам)) Помогите разобраться с программой IntelliJ IDEA, а именно заново установил программу , поставил исходники...

System.Disagnostics.Process.Start Error
У меня есть два консольных приложения. Назовём их ConsoleApp и ConsoleChecker Оба работают с одной и той же базой sqlite3. Смысл в том,...

Не открывает exe через Process.Start
Есть папка "1", в этой папке тоже есть папка "2" Запускаю "1.exe" с папки "1"... "1.exe" включает прогаму "2.exe" из папки...

Process.start: не открывается картинка на Windows XP
// запуск процесса Process imgProcess = new Process(); mgProcess.StartInfo.FileName = "F:/exemple.jpg"; imgProcess.Start();код...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Уведомление о неверно выбранном значении справочника
Maks 06.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "НарядПутевка", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если в документе выбран неверный склад. . .
Установка Qt Creator для C и C++: ставим среду, CMake и MinGW без фреймворка Qt
8Observer8 05.04.2026
Среду разработки Qt Creator можно установить без фреймворка Qt. Есть отдельный репозиторий для этой среды: https:/ / github. com/ qt-creator/ qt-creator, где можно скачать установщик, на вкладке Releases:. . .
AkelPad-скрипты, структуры, и немного лирики..
testuser2 05.04.2026
Такая программа, как AkelPad существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
Отображение реквизитов в документе по условию и контроль их заполнения
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "ПланированиеСпецтехники", разработанного в конфигурации КА2. Данный документ берёт данные из другого нетипового документа. . .
Фото всей Земли с борта корабля Orion миссии Artemis II
kumehtar 04.04.2026
Это первое подобное фото сделанное человеком за 50 лет. Снимок называют новым вариантом легендарной фотографии «The Blue Marble» 1972 года, сделанной с борта корабля «Аполлон-17». Новое фото. . .
Вывод диалогового окна перед закрытием, если документ не проведён
Maks 04.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: реализовать программный контроль на предмет проведения документа. . .
Программный контроль заполнения реквизитов табличной части документа
Maks 02.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: 1. Реализовать контроль заполнения реквизита. . .
wmic не является внутренней или внешней командой
Maks 02.04.2026
Решение: DISM / Online / Add-Capability / CapabilityName:WMIC~~~~ Отсюда: https:/ / winitpro. ru/ index. php/ 2025/ 02/ 14/ komanda-wmic-ne-naydena/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru