Добавить комментарий
![]() |
Запустить внешнюю программу и дождаться завершения |
Пример кода:
... var SI: TStartupInfo; PI: TProcessInformation; begin // Заполняем StartupInfo with SI do begin cb := SizeOf(TStartupInfo); dwFlags := STARTF_USESHOWWINDOW or STARTF_FORCEONFEEDBACK; wShowWindow := SW_SHOWNORMAL; end; // Выполняем запуск if CreateProcess(nil, PChar('Имя файла с путём'), nil, nil, False, 0, nil, nil, SI, PI) then begin // Если запуск удался // ожидаем завершения, каждые 100 мс давая продышаться основному потоку. repeat application.ProcessMessages; until WaitForSingleObject(PI.hProcess, 100) <> WAIT_TIMEOUT; // Закрываем свои дескрипторы CloseHandle(PI.hThread); CloseHandle(PI.hProcess); end else begin // Делаем, что должны, если запуск не удался. end; ...
Метки: