Форум программистов, компьютерный форум, киберфорум
C++ Builder
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.88/259: Рейтинг темы: голосов - 259, средняя оценка - 4.88
0 / 0 / 0
Регистрация: 16.10.2010
Сообщений: 12

Запуск внешнего приложения

02.02.2011, 20:17. Показов 51569. Ответов 13
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть основная программа, в папке с ней лежит другая программа. из первой программы нужно запустить exe-шник второй программы. подскажите, как это сделать?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
02.02.2011, 20:17
Ответы с готовыми решениями:

Запуск внешнего приложения
Скажите, как можно запустить внешнее приложение? Долго гуглил, информации - море. Читал и пробовал разные примеры, но ничего из...

Запуск внешнего приложения по нажатию на кнопку
подскажите пожалуйста функцию, так чтобы например кнопку тыкнул и какая-то програма начала работать

Где в XE5 можно настроить запуск внешнего приложения перед компиляцией проекта?
subj Есть исходник, который перед сборкой должен пропускаться черед внешний препроцессор. Никак не могу найти, где это...

13
 Аватар для n00b!!!
11 / 11 / 1
Регистрация: 27.12.2010
Сообщений: 39
02.02.2011, 20:31
посмотри тут,может поможет http://www.cyberguru.ru/cpp-so... rugoj.html
0
Now I Matrix
137 / 134 / 28
Регистрация: 01.03.2010
Сообщений: 223
02.02.2011, 20:32
Загуглиться поглубже религия не позволяет?
Способов много
1 из них:
C++
1
2
AnsiString path="путь к нужной программе.exe";
ShellExecute(0,"open",path.c_str(),"-параментры",0,SW_SHOW); //запускаем
вместо SW_SHOW можно SW_NORMAL, SW_HIDE, SW_RESTORE ... и.т.д
1
 Аватар для Vlad_IT
1452 / 360 / 61
Регистрация: 03.04.2010
Сообщений: 2,096
03.02.2011, 02:43
Вот
C++
1
ShellExecute(0,"open","прога.exe",NULL,0,SW_RESTORE);
0
 Аватар для QVO
652 / 462 / 80
Регистрация: 26.10.2010
Сообщений: 1,263
Записей в блоге: 4
04.02.2011, 01:51
Легче всего использовать WinExec.

C++
1
WinExec("C:\Project1.exe", SW_SHOW)
UINT WinExec(

LPCSTR lpCmdLine, // Адрес программы
UINT uCmdShow // Стиль
);
SW_HIDE Окно в скрытом режиме.

SW_MAXIMIZE Окно максимального размера

SW_MINIMIZE Окно находится в свернутом виде, активируется следующее верхнее окно в Z последовательности.

SW_RESTORE Активирует и показывает окно. Если окно свернуто или развернуто, Windows восстанавливает его

к первоначальному размеру и позиции. Приложение должно определить этот флаг при восстановлении свернутого окна.

SW_SHOW Активирует окно и выводит его в текущих размерах и позиции.

SW_SHOWMAXIMIZED Активирует и показывает окно в развернутом виде.

SW_SHOWMINIMIZED Активирует и показывает окно в свернутом виде.

SW_SHOWMINNOACTIVE Отображает окно в свернутом виде. Активное окно остается активным.

SW_SHOWNA Отображает окно в текущем состоянии. Активное окно остается активным.

SW_SHOWNORMAL Активирует и показывает окно. Если окно свернуто или развернуто,

Windows восстанавливает его к первоначальному размеру и позиции.
3
 Аватар для Sasha
4956 / 2420 / 531
Регистрация: 05.06.2008
Сообщений: 7,518
Записей в блоге: 3
04.02.2011, 02:00
Цитата Сообщение от Nouko Посмотреть сообщение
Легче всего использовать WinExec.

C++
1
WinExec("C:\Project1.exe", SW_SHOW)


SW_HIDE Окно в скрытом режиме.

SW_MAXIMIZE Окно максимального размера

SW_MINIMIZE Окно находится в свернутом виде, активируется следующее верхнее окно в Z последовательности.

SW_RESTORE Активирует и показывает окно. Если окно свернуто или развернуто, Windows восстанавливает его

к первоначальному размеру и позиции. Приложение должно определить этот флаг при восстановлении свернутого окна.

SW_SHOW Активирует окно и выводит его в текущих размерах и позиции.

SW_SHOWMAXIMIZED Активирует и показывает окно в развернутом виде.

SW_SHOWMINIMIZED Активирует и показывает окно в свернутом виде.

SW_SHOWMINNOACTIVE Отображает окно в свернутом виде. Активное окно остается активным.

SW_SHOWNA Отображает окно в текущем состоянии. Активное окно остается активным.

SW_SHOWNORMAL Активирует и показывает окно. Если окно свернуто или развернуто,

Windows восстанавливает его к первоначальному размеру и позиции.
Не факт, что запуститься!!!!!!!!!!!
1
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
04.02.2011, 02:19
Цитата Сообщение от Nouko Посмотреть сообщение
Легче всего использовать WinExec.
- в таком виде сразу получите ошибку .
Ощутите разницу :
C++
1
2
3
AnsiString filename = "c:\Project.exe";
if (FileExists(filename)) {WinExec(filename.c_str(), SW_SHOW);}
else {ShowMessage("File не Exists");}
Но пример с флагами хороший в общем-то .
0
 Аватар для Vlad_IT
1452 / 360 / 61
Регистрация: 03.04.2010
Сообщений: 2,096
04.02.2011, 12:14
Я где-то слышал что у функции WinExec есть много подводных камней нежели у ShellExecute. Может я не прав. Но все же лучше использовать ShellExecute. Она все же новее чем WinExec.
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
04.02.2011, 15:46
Ага, но в данном случае ошибка здесь :
C++
1
2
// AnsiString filename = "c:\Project.exe";
AnsiString filename = "c:\\Project.exe";
0
0 / 0 / 0
Регистрация: 01.03.2011
Сообщений: 16
01.03.2011, 14:01
Ну вот и подскажите, как мне реализовать через один батон, открытие файла *.docx , если путь к файлу лежит в базе даных, и пользователь сам выбирает нужный файл!!!
Вся моя проблема в етом
ShellExecute(0, "open", "c:\MyProject\Pasport\Doc1.docx", NULL, NULL, SW_SHOWNORMAL);
ShellExecute(0, "open", "c:\\MyProject\\Pasport\\Doc1.docx", NULL, NULL, SW_SHOWNORMAL);
Можно ли как-то обойтись одним слежем???
0
 Аватар для cpp_developer
20124 / 5691 / 417
Регистрация: 09.04.2010
Сообщений: 22,546
Записей в блоге: 1
01.03.2011, 14:12
Цитата Сообщение от SS-18 Посмотреть сообщение
Можно ли как-то обойтись одним слежем???
- обойтись нельзя, можно добавить:
C++
1
2
3
4
AnsiString path = "folder\folder\folder\my.exe";
path = StringReplace(path, "\", "\\", TReplaceFlags() << rfReplaceAll);
// или так, не помню что там кого будет экранировать
path = StringReplace(path, "\\", "\\\\", TReplaceFlags() << rfReplaceAll);
1
0 / 0 / 0
Регистрация: 01.03.2011
Сообщений: 16
01.03.2011, 14:22
Цитата Сообщение от LK Посмотреть сообщение
- обойтись нельзя, можно добавить:
C++
1
2
3
4
AnsiString path = "folder\folder\folder\my.exe";
path = StringReplace(path, "\", "\\", TReplaceFlags() << rfReplaceAll);
// или так, не помню что там кого будет экранировать
path = StringReplace(path, "\\", "\\\\", TReplaceFlags() << rfReplaceAll);
2-й вариант!!! То что нада!!! Всё гуд!!! Спс!!!
0
7 / 7 / 0
Регистрация: 12.11.2010
Сообщений: 55
01.03.2011, 21:57
Я вместо SS-18 сказал спасибо!
1
0 / 0 / 1
Регистрация: 23.06.2017
Сообщений: 13
23.06.2017, 19:01
ничё не пашет(
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
23.06.2017, 19:01
Помогаю со студенческими работами здесь

Извлечение данных из внешнего приложения
как в мою программу можно копировать данные из внешней? значение нужно извлечь из statusbar panel в memo допустим

Запуск внешнего приложения
Мне нужно написать программу, которая запускает exe-файл расчетной проги, а потом отслеживает момент, когда эта прога заканчивает работу....

Запуск внешнего приложения
Не знал куда писать, поэтому пишу сюда. Мне нужно чтоб по нажатия кнопки на сайте, запускалось приложение на компьютере пользователя с...

Запуск внешнего приложения
Как можно запустить внешнее консольное приложение и передать туда параметры программными методами. Например я хочу чтобы по нажатию...

Запуск внешнего приложения из QT
Знаю, тема заежженаая..... прочитал уже несколько форумов - нифига не получается... Помогите, кто сможет void...


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

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Новые блоги и статьи
Модель ЗдрввоСохранения 7: больше работников, больше ресурсов.
anaschu 08.04.2026
работников и заданий может быть сколько угодно, но настроено всё так, что используется пока что только 20% kYBz3eJf3jQ
Дальние перспективы сервера - слоя сети с космологическим дизайном интефейса карты и логики.
Hrethgir 07.04.2026
Дальнейшее ближайшее планирование вывело к размышлениям над дальними перспективами. И вот тут может быть даже будут нужны оценки специалистов, так как в дальних перспективах всё может очень сильно. . .
Горе от ума
kumehtar 07.04.2026
Эта мне ментальная установка, что вот прямо сейчас, мол, мне для полного счастья не хватает (нужное вписать), и когда я этого достигну - тогда и полный кайф. Одна из самых сильных ловушек на пути. . . .
Использование значений реквизитов справочника в документе, с определенными условиями и правами
Maks 07.04.2026
1. Контроль срока действия договора Алгоритм из решения ниже реализован на примере нетипового документа "ЗаявкаНаРаботу", разработанного в конфигурации КА2. Задача: уведомлять пользователя, если. . .
Доступность команды формы по условию
Maks 07.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "СписаниеМатериалов", разработанного в конфигурации КА2. Задача: сделать доступной кнопку (команда формы "ЗавершитьСписание") при. . .
Уведомление о неверно выбранном значении справочника
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 существует уже давно, и также давно существуют скрипты под нее. Тем не менее, прога живет, периодически что-то не спеша дополняется, улучшается. Что меня в первую очередь. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru