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

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

как вызвать процесс и дождаться окончания его выполнения? [D7]


Boris_S ©   (2004-03-29 17:47:00) 

как из программы вызвать выполнение независимой программы и дождаться окончания ее выполнения что бы потом вызвать еще одну
программу?


Игорь Шевченко   (2004-03-29 17:56:00) [1]

ShellExecuteEx + WaitForSingleObject

Например:
procedure TfMain.DumpFile(const FileName : String);
var
 ShellInfo: TShellExecuteInfo;
 ParamsString: String;
begin
 ParamsString := Format('-em %s %s.aaa', [FileName, FileName]);
 ShellInfo.cbSize := SizeOf(ShellInfo);
 ShellInfo.fMask := SEE_MASK_NOCLOSEPROCESS;
 ShellInfo.Wnd := Handle;
 ShellInfo.lpVerb := 'open';
 ShellInfo.lpFile := 'tdump';
 ShellInfo.lpParameters := PChar(ParamsString);
 ShellInfo.lpDirectory := nil;
 ShellInfo.nShow := SW_SHOW;
 if not ShellExecuteEx(@ShellInfo) then
   RaiseLastWin32Error();
 if ShellInfo.hProcess <> 0 then
   try
     WaitForSingleObjectEx(ShellInfo.hProcess, INFINITE, false);
   finally
     CloseHandle(ShellInfo.hProcess);
   end;
end;


Наверх

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