![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Задача сводится к запуску приложения, которое запустит другое при [D7, NT4, Win2k, WinXP]
BorisUK © (2003-05-29 11:00:00)Подскажите плз можно ли сделать так чтобы программа запустилать с параметром, который является екзешником другой программы тоже с ПАРАМЕТРОМ ... например с помощью ShellExecute или как по другому?
Задача сводится к запуску приложения, которое запустит другое приложение... для обоих нужно передать параметры параметры
<programm1>_<programm2_<Param1>>
Aleksey Pavlov (2003-05-29 15:26:00) [1]>>DVM ©:
Ну и что - пускай чужая. Главное, что бы эта вторая программа могла парсить передаваемые ей при старте параметры.
Какие проблемы?
DVM (2003-05-29 15:18:00) [2]
> Aleksey Pavlov ©
я так понял, что вторая программа - чужая.
Aleksey Pavlov (2003-05-29 14:59:00) [3]cmdLine>> Prog1.exe Prog2.exe ParamOfProg2
В проекте первой программы:
procedure TForm1.FormCreate(Sender: TObject);
begin
ShellExecute(Handle, PChar("open"), PChar(ParamStr(1)), PChar(ParamStr(2)), nil, SW_SHOW);
end;
В проекте второй программы:
procedure TForm1.FormCreate(Sender: TObject);
begin
MessageBox(0, PChar(ParamStr(1)), PChar(Form1.Caption), 0);
end;
Вот, собственно и всё.
DVM (2003-05-29 12:01:00) [4]Вообще-то так нельзя сделать. Если только programm1.exe в своем коде не будет запускать programm2.exe с параметром.
Сам подумай: как programm1.exe сможет отличить, где её второй параметр запуска, а где первый параметр запуска programm2.exe.
Я и сам не смогу отличить. Как это узнать?
И ShellExecute не сможет отличить.
Найдите другое решение задачи. А зачем такие извращения, можно узнать?
BorisUK (2003-05-29 11:38:00) [5]Если сделать например так
ShellExecute(Handle, "open", "programm1.exe", Pchar("programm2.exe Param1"), nil, SW_SHOWMAXIMIZED);
то параметр будет воспринят как второй параметр к "programm1.exe" а не первый "programm2.exe"...