procedure RunAndWait(App: string; Wait: Boolean);
var
PInfo: TProcessInformation;
SInfo: TStartUpInfo;
begin
FillChar(SInfo, SizeOf(SInfo), #0);
FillChar(PInfo, SizeOf(PInfo), #0);
SInfo.CB := SizeOf(SInfo);
SInfo.dwFlags := STARTF_USESHOWWINDOW;
SInfo.wShowWindow := 1;
CreateProcess(nil, PChar(App), nil, nil, TRUE, 0,
GetEnvironmentStrings, nil, SInfo, PInfo);
if (Wait) then
if PInfo.hProcess >= 32 then
while WaitforSingleObject(PInfo.hProcess, 200) = WAIT_TIMEOUT do
Application.ProcessMessages;
end;
ShellAPI
Как запустить программу методом ShellExecute, так что бы подожать когда выполнится она и только потом выполнять все остальные инструкции. А то она только пораждает процессы нне дожидаясь их окончания.
Цитата:
Originally posted by unmoved
Как запустить программу методом ShellExecute, так что бы подожать когда выполнится она и только потом выполнять все остальные инструкции. А то она только пораждает процессы нне дожидаясь их окончания.
Как запустить программу методом ShellExecute, так что бы подожать когда выполнится она и только потом выполнять все остальные инструкции. А то она только пораждает процессы нне дожидаясь их окончания.
Скорее всего никак - не известно даже что запустится
Цитата:
Originally posted by unmoved
Как запустить программу методом ShellExecute, так что бы подожать когда выполнится она и только потом выполнять все остальные инструкции. А то она только пораждает процессы нне дожидаясь их окончания.
Как запустить программу методом ShellExecute, так что бы подожать когда выполнится она и только потом выполнять все остальные инструкции. А то она только пораждает процессы нне дожидаясь их окончания.
Это возможно используя CreateProcess
Цитата:
Originally posted by Delpher
Это возможно используя CreateProcess
Это возможно используя CreateProcess
Точнее CreateProcess и WaitForSingleObject
Цитата:
Originally posted by makbeth
Точнее CreateProcess и WaitForSingleObject
Точнее CreateProcess и WaitForSingleObject
А вот и процедура:
Код:
C помощью CreateProcess - нет проблем, вот только какое приложение запускать?
Цитата:
Originally posted by Dian
C помощью CreateProcess - нет проблем, вот только какое приложение запускать?
C помощью CreateProcess - нет проблем, вот только какое приложение запускать?
ищи в ветке реестра HKEY_CLASES_ROOT расширение нужного файла запоминай значение По умолчанию и ищи теперь его в этой же ветке и в \shell\command\ значение По умалчанию будет нужная тебе прога...