Показать сообщение отдельно
  #1  
Старый 02.07.2019, 11:16
Коржик Коржик вне форума
Прохожий
 
Регистрация: 03.04.2019
Сообщения: 8
Версия Delphi: Delphi 7
Репутация: 10
По умолчанию Добавить параметры в CreateProcess

Который день бьюсь, почитал много, но понять не могу как использовать CreateProcess с несколькими параметрами.
Код:
procedure TForm1.Button1Click(Sender: TObject);
var
  DSTN: LongBool;
  StartUpInfo: TStartUpInfo;
  ProcessInfo: TProcessInformation;
  Error: integer;
  InFName, OFName, params: string;
  ComApp: PAnsiChar;
begin
  if OpDlg1.Execute then
  IFName := ExtractFileName(OpDlg1.FileName);
  OFName := ' MyDoc.txt';
  params := IFName + OFName;

  FillChar(StartUpInfo, SizeOf(TStartUpInfo), 0);
  with StartUpInfo do
  begin
    cb := SizeOf(TStartUpInfo);
    dwFlags := STARTF_USESHOWWINDOW or STARTF_FORCEONFEEDBACK;
    wShowWindow := SW_SHOWNORMAL;
  end;

  DSTN := CreateProcess('Conv.exe ', params, nil, nil, false, NORMAL_PRIORITY_CLASS, nil, nil, StartUpInfo, ProcessInfo);
  if DSTN then
    with ProcessInfo do
    begin
      WaitForInputIdle(hProcess, INFINITE);
      CloseHandle(hThread);
      CloseHandle(hProcess);
    end
  else
    Error := GetLastError;
end;
Проблема в том что мне нужно после Conv.exe должны идти 2 параметра, имя входного файла, которое берется из OpenDialog и имя выходного файла, которое записанно в переменной. Но при такой конструкции ничего не происходит. Если вместо params руками прописать ' 1.txt MyDoc.txt' то так все работает. Как правильно запускать CreateProcess с параметрами?
Ответить с цитированием