Мне надо, сделать так, чтобы я запускал из своей программы другую программу с /install в командной строке возможно это сделать?
что лучше использовать и как реализовать?
Здравствуйте, Levin_610, Вы писали:
L_>Мне надо, сделать так, чтобы я запускал из своей программы другую программу с /install в командной строке возможно это сделать? L_>что лучше использовать и как реализовать?
Дело вкуса. Поскольку WinExec позиционируется как устаревшая и оставленная лишь для совместимости с 16-бит ( ) windows, то лучше наверное ShellExecute. Если еще потребуется дожидаться окончания того процесса, то ShellExecuteEx или CreateProcess
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde
Здравствуйте, Levin_610, Вы писали:
L_>Мне надо, сделать так, чтобы я запускал из своей программы другую программу с /install в командной строке возможно это сделать? L_>что лучше использовать и как реализовать?
WinExec устаревшая функция — забываем о ней.
ShellExecute — вполне подходит
ShellExecuteEx — более расширенная, можна подождать завершения запущенной программы и многое другое.
CreateProcess — от нее все ноги и растут. Все выше перечисленные функции используют ее для запуска процеса. Поищите в этом форуме и найдете кучу примеров как ее запускать.
Здравствуйте, Levin_610, Вы писали:
L_>Мне надо, сделать так, чтобы я запускал из своей программы другую программу с /install в командной строке возможно это сделать? L_>что лучше использовать и как реализовать?
procedure Run(FileName:string);
var
Si:_STARTUPINFOA;
Pi:PROCESS_INFORMATION;
s,s2:string;
begin
GetStartupInfo(Si);
s:=ExtractFileDir(FileName);
s2:=FileName;
CreateProcess(nil,PChar(s2),nil,nil,false,0,nil,PChar(s),Si,Pi);
end;
Далее:
Run("program.exe /install");
Или чего ещё хочется.