![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Вывод процесса установки. [D7, WinXP]
VitAngel © (2008-11-27 14:26:00)Вечер добрый!
Из своего приложения запускаю setup для установки продукта с помощью следующей функции:
function ExecAndWait(const FileName, Params: ShortString; const WinState: Word): boolean;
var
StartInfo: TStartupInfo;
ProcInfo: TProcessInformation;
CmdLine: ShortString;
begin
{ Помещаем имя файла между кавычками, с соблюдением всех пробелов в именах Win9x }
CmdLine := '"' + Filename + '" ' + Params;
FillChar(StartInfo, SizeOf(StartInfo), #0);
with StartInfo do
begin
cb := SizeOf(StartInfo);
dwFlags := STARTF_USESHOWWINDOW;
wShowWindow := WinState;
end;
Result := CreateProcess(nil, PChar( String( CmdLine ) ), nil, nil, false, CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil,
PChar(ExtractFilePath(Filename)),StartInfo,ProcInfo);
{ Ожидаем завершения приложения }
if Result then
begin
WaitForSingleObject(ProcInfo.hProcess, INFINITE);
{ Free the Handles }
CloseHandle(ProcInfo.hProcess);
CloseHandle(ProcInfo.hThread);
//progress_.exit;
end;
end;
Вопрос: Могу ли я как то следить за ходом выполнения установки ?
Буду признателен за любую помощь
Юрий Зотов (2008-11-27 17:47:00) [1]Но не в ожидающем, а в другом потоке.
Сергей М. (2008-11-27 14:37:00) [2]Если порожденный процесс предусматривает такой интерфейс, то можешь.