Delphi 7 - как запустить .exe файл в текущей папке?

компьютеры программирование программы Delphi Delphi 7

Есть скомпилированная программа. В ее директории есть .exe файлы.
Как запустить .exe файл в текущей дириктории без явного указания пути (папка может находиться в любом месте)? Например консоль можно запустить как командой cmd, так и командой %windir%\system32\cmd.exe.
P.S. Нужные программы стартуют после нажатия кнопки.

procedure TForm1.btn1Click(Sender: TObject);
begin
WinExec('c:\windows\system32\cmd.exe', SW_SHOW); - это просто пример, мне не нужно запускать командную строку.
end;

end.
Ответы:
В переменной ParamStr[0] находится имя самой запущенной программы вместе с полным путём.
Из этого имени выделяешь путь функцией ExtractFileDir, по которому будет производится поиск всех файлов с расширением *.exe. (FindFirst затем FindNext).
Результат можно записать в переменную TStringList.
Только из полученного списка удалить строку с именем самой программы.
Ну а дальше по полученному списку запускать все найденные программы с WinExec.
Или запомнить результат в спадающий список TListBox и запускать выбранный.
А просто WinExec("file.exe",SW_SHOW) не срабатывает?


11 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.