|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
01.05.2008, 13:13 | #1 |
Пользователь
Регистрация: 05.03.2008
Сообщений: 33
|
запуск exe
необходимо запустить программно другой exe-файл. ShellExecute не подходит, там прописывается абсолютный путь (или я чего то не знаю?), а мне это не подходит, мне нужно чтобы был допустим относительный путь. Какие еще есть функции для запуска файлов, и как ими пользоваться?
заранее пасиба |
01.05.2008, 17:58 | #2 |
Старожил
Регистрация: 26.04.2008
Сообщений: 2,645
|
Зная абсолютный адрес запущенной программы можно вычислить относительный.
Код:
Код:
|
01.05.2008, 18:46 | #3 |
Старожил
Регистрация: 06.08.2007
Сообщений: 2,183
|
WinExec нетак универсален, некоторые файлы, программы запускает некорректно. Используйте ShellExecute или CreateProcess, возможностей больше.
|
01.05.2008, 19:08 | #4 |
Старожил
Регистрация: 20.04.2008
Сообщений: 5,528
|
а посмотрть справку по shellexecute
HINSTANCE ShellExecute( HWND hwnd, // handle to parent window LPCTSTR lpOperation, // pointer to string that specifies operation to perform LPCTSTR lpFile, // pointer to filename or folder name string LPCTSTR lpParameters, // pointer to string that specifies executable-file parameters LPCTSTR lpDirectory, // pointer to string that specifies default directory INT nShowCmd // whether file is shown when opened ); один из параметров как раз и есть папка для задания рабочей (относительно которой будут определяться пути)
программа — запись алгоритма на языке понятном транслятору
Последний раз редактировалось evg_m; 01.05.2008 в 19:10. |
01.05.2008, 19:48 | #5 |
Пользователь
Регистрация: 05.03.2008
Сообщений: 33
|
неее... тема тут немного другая... абсолютный путь НЕИЗВЕСТЕН...
вот страницы в программе у меня адреса к ним прописаны начиная с той папки, в которой лежит сам экзешник, и независимо от того где лежит эта папка, мы сможем запустить программу и все будет работать. Можно эту папку перенести в любое место, на другой компьютер - и все будет работать. в том то и дело, что абсолютный путь - слишком легко меняется. как сделать, чтобы отталкивался адрес к екзешнику, который должен запуститься из приложения, от того места, где запущенное приложение?? |
01.05.2008, 20:07 | #6 |
Старожил
Регистрация: 26.04.2008
Сообщений: 2,645
|
Код:
Последний раз редактировалось eoln; 01.05.2008 в 20:09. |
01.05.2008, 20:14 | #7 |
Новичок
Джуниор
Регистрация: 18.01.2008
Сообщений: 1,720
|
Указывайте относительный путь от текущего каталога, скажем, '.\MyDirectory\MyApp.exe'. И пользуйтесь CreateProcess. ShellExecute предназначена в первую очередь для запуска файлов по ассоциациям, элементов меню, виртуальных папок, вроде "Мои документы".
|
02.05.2008, 12:09 | #8 |
Пользователь
Регистрация: 05.03.2008
Сообщений: 33
|
Хм, пасиба канешно..
А можете еще пожалуста объяснить, что в этом CreateProcess указывать в параметрах, кроме адреса к файлу?.. Не могу найти... |
02.05.2008, 18:14 | #9 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
B_N, а можно я задам свой вопрос в чужой теме?...
меня всегда интересовало и вот, вроде представился шанс уточнить. Цитата:
отличается от записи 'MyDir\' ? Насколько я понимаю, это полностью идентично? Или есть нюансы?.. |
|
02.05.2008, 18:23 | #10 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Manitu, вот, если поможет, рабочая программка —пример консольной программы (запаковать файл, вызвав ARJ.exe):
Код:
|
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Запуск *.exe из программы | Djaconda | Паскаль, Turbo Pascal, PascalABC.NET | 22 | 01.03.2012 00:27 |
Запуск ехе | Killbrum | Помощь студентам | 8 | 19.08.2008 18:06 |
Копирование и запуск | RealSHELS | Общие вопросы Delphi | 2 | 27.03.2008 22:03 |
запуск програмы | ZhekON | Общие вопросы Delphi | 11 | 05.06.2007 16:05 |
запуск | kalin | Общие вопросы Delphi | 8 | 02.03.2007 05:27 |