Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.13;
Скачать: CL | DM;

Вниз

Запуск и ожидание завершения процесса   Найти похожие ветки 

 
LK   (2004-05-09 20:22) [0]

Подскажите плиз, как определить, когда запускаемый ShellExecute файл полностью исполнится. Нужно, чтобы управление программе передавалось только после завершения прикладной проги. ShellExecute гоняется в цикле и поэтому нужно ждать, пока предыдущий процесс завершится.


 
Dimaxx ©   (2004-05-09 21:36) [1]

WaitForSingleObject тебе нужен, а не ShellExecute.


 
Игорь Шевченко ©   (2004-05-09 22:28) [2]

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;


 
LK   (2004-05-10 00:23) [3]

Спасибо, со структурой TShellExecuteInfo копался, а про WaitForSingleObjectEx не знал.



Страницы: 1 вся ветка

Текущий архив: 2004.06.13;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.037 c
4-1083526677
Tuman
2004-05-02 23:37
2004.06.13
Flash &amp; Desktop


3-1084862582
Bizquit
2004-05-18 10:43
2004.06.13
Вертикальный ДБ Грид.


14-1085419845
Lm
2004-05-24 21:30
2004.06.13
shell+XP


3-1085399227
Alex_xxx
2004-05-24 15:47
2004.06.13
Новая беда: где взять Provider=Microsoft.Jet.OLEDB.4.0???


4-1083775339
RTWolf
2004-05-05 20:42
2004.06.13
Как Baloon-подсказку сделать поверх всех окон?