Текущий архив: 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.44 MB
Время: 0.022 c