|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » Программирование и базы данных » Delphi - [решено] Запуск двух *.exe из разных папок с установленной программой |
|
Delphi - [решено] Запуск двух *.exe из разных папок с установленной программой
|
Новый участник Сообщения: 9 |
Подскажите пожалуйста...
В папке с устанавливаемой программой есть еще две папки в обеих лежат по одному *.exe файлу. Как вызвать из главного окна формы тот или иной *.exe файл понятно, к примеру так: //Запускаем исполняемый файл из Папки 1 ShellExecute(handle,'open','C:\Program Files\Папка с установленной программой\Папка1\Start1.exe',nil,nil,SW_SHOW); //Запускаем исполняемый файл из Папки 2 ShellExecute(handle,'open','C:\Program Files\Папка с установленной программой\Папка2\Start2.exe',nil,nil,SW_SHOW); По ходу, объединять в одну папку эти *.exe файлы не нужно. |
|
Отправлено: 21:26, 13-02-2010 |
![]() Старожил Сообщения: 467
|
Профиль | Отправить PM | Цитировать Fus-Sheva, тут все зависит от того, каким образом нужно указать путь к exe - если можно указать вручную, то, например, можно создать ini файл с путями к exe, вручную его править, и грузить путь уже с ini. А можно просто по время исполнения программы запросит ввод путей к exe. Но если нужно найти требуемые exe автоматически, где бы они не находились, то тут мороки уже намного больше. Опишите более подробно задачу и требуемые результаты.
|
------- Отправлено: 21:46, 13-02-2010 | #2 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Новый участник Сообщения: 9
|
Профиль | Сайт | Отправить PM | Цитировать К примеру, человек устанавливает программу "PROGA". Инсталятор ложит ее по умолчанию в папку с таким путем:
C:\Program Files\PROGA Но человеку хочется установить эту программу в папку с таким путем D:\Games\PROGA (инсталятор позволяет изменить папку назначения). А вот в папке "PROGA" есть еще две папки, скажем Part1 и Part2 При запуске программы из папки "PROGA" Start.exe открывается форма на которой установлено две кнопки Part1 и Part1 при нажатии на одну из них должен запускаться исполняемый файл либо из папки Part1 (Start1.exe) либо из папки Part2 (Start2.exe) Так понятней? |
Отправлено: 22:08, 13-02-2010 | #3 |
Ветеран Сообщения: 3320
|
Профиль | Отправить PM | Цитировать Fus-Sheva можно определить папку приложения с помощью функции GetModuleFileName(). А к полученному пути поочередно прибавить (например с помощью функций работы со строками) требуемые относительные, Папка1\Start1.exe и Папка2\Start2.exe.
|
Отправлено: 22:11, 13-02-2010 | #4 |
Новый участник Сообщения: 9
|
Профиль | Сайт | Отправить PM | Цитировать Спасибо попробуем.
|
|
Отправлено: 22:13, 13-02-2010 | #5 |
Новый участник Сообщения: 9
|
Профиль | Сайт | Отправить PM | Цитировать Сделал следующим образом.
Пример: Путь к папке с установленной программой: C:\Program Files\PROGA Пути к файлам *.exe C:\Program Files\PROGA\Start.exe C:\Program Files\PROGA\Part1\Start1.exe C:\Program Files\PROGA\Part2\Start2.exe Потом примерно так: //объявляем строковые переменные Var Path: String; Var Part1: String; Var Part2: String; //Действие по "Кнопка-1" procedure TForm1.Button1Click(Sender: TObject); begin Path:=Application.ExeName; // получаем путь к Start.exe Path:=ExtractFileDir(Path); // обрезаем название и расширение (Start.exe) Part1:='\Part1\Start1.exe'; // присваиваем (прописываем) путь к Start1.exe в первой папке Part1 ShellExecute(handle,'open', PChar(Path + Part1), nil,nil,SW_SHOW); // к обрезанному пути Path дописываем путь к первой папке (Part1) и файлу Strat1.exe end; // Тоже самое делаем с "Кнопка-2" procedure TForm1.Button2Click(Sender: TObject); begin Path:=Application.ExeName; Path:=ExtractFileDir(Path); Part2:='\Part2\Start2.exe'; ShellExecute(handle,'open', PChar(Path + Part2), nil,nil,SW_SHOW); end; |
Отправлено: 21:54, 15-02-2010 | #6 |
![]() |
Участник сейчас на форуме |
![]() |
Участник вне форума |
![]() |
Автор темы |
![]() |
Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Router - Интернет с двух разных WIFI точек | Joni | Сетевое оборудование | 3 | 15-01-2010 09:43 | |
C/C++ - запуск одной программой другую | zl3p | Программирование и базы данных | 4 | 24-02-2009 15:42 | |
Доступ к файлам двух разных локальных сетей | Mans2k | Microsoft Windows NT/2000/2003 | 1 | 20-08-2008 08:21 | |
запуск разных программ для разных пользователей при загрузке | schumi | Microsoft Windows 2000/XP | 2 | 06-01-2006 22:36 |
|