Einzelnen Beitrag anzeigen

Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#15

Re: Probleme mit kurzen und langen Dateinamen / Übergabe

  Alt 21. Mär 2009, 21:06
Also hab' mir CreateProcess mal in der OH angesehen. Dein erster Ansatz war richtig, nur die Paramerterübergabe falsch.
Bei mir war Parameterübergabe richtig, aber die Bedeutung AppName / CommandLine falsch gedeutet.

Hier nochmal:
Delphi-Quellcode:
function ExecAndWait2(const Filename, Param1, Param2: string; WindowState: word): boolean;
var
  SUInfo: TStartupInfo;
  ProcInfo: TProcessInformation;
  CmdLine: string;
begin
  // Parameterliste
  CmdLine := Filename +' "' + Param1 + '" "' + Param2 + '"';

  FillChar(SUInfo, SizeOf(SUInfo), #0);
  with SUInfo do
  begin
    cb := SizeOf(SUInfo);
    dwFlags := STARTF_USESHOWWINDOW;
    wShowWindow := WindowState;
  end;

  Result := CreateProcess(NIL, PChar(CmdLine), nil, nil, FALSE,
                          CREATE_NEW_CONSOLE or NORMAL_PRIORITY_CLASS, nil,
                          PChar(ExtractFilePath(Filename)), SUInfo, ProcInfo);

  //Warten bis beendet
  if Result then
    WaitForSingleObject(ProcInfo.hProcess, INFINITE);
end;
Alles an CmdLine übergeben war also OK, Nur die " waren an der falschen Stelle gesetzt. Probier es bitte nochmal mit der Funktion oben.
  Mit Zitat antworten Zitat