Показать сообщение отдельно
  #8  
Старый 23.10.2012, 12:59
Аватар для poli-smen
poli-smen poli-smen вне форума
Профессионал
 
Регистрация: 06.08.2012
Адрес: Кривой Рог
Сообщения: 1,791
Версия Delphi: Delphi 7, XE2
Репутация: 4415
По умолчанию

Вариант с ShellExecute я проверил - у меня работает. Единственно только для тихой установки WinRar-овских SFX архивов нужно использовать параметр '/S', а не '\S'.

Вот вариант через CreateProcess:
Код:
var
  SI: TStartupInfo;
  PI: TProcessInformation;
begin
  FillChar(SI, SizeOf(SI), 0);
  SI.cb := SizeOf(SI);

  if not CreateProcess(nil, 'SetupWinRar.exe /S', nil, nil, False, 0, nil, nil, SI, PI) then RaiseLastWin32Error();

  CloseHandle(PI.hProcess);
  CloseHandle(PI.hThread);
end;

p.s. Естественно путь к файлу "SetupWinRar.exe" должен быть известен. Иначе либо имя этого файла нужно указывать полностью с путём, либо устанавливать текущий путь к этому файлу с помощью SetCurrentDir.
Ответить с цитированием