Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Задача сводится к запуску приложения, которое запустит другое при [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"...


Наверх

Титульная страница Поиск, карта сайта Написать письмо