Einzelnen Beitrag anzeigen

Satty67

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

Re: Probleme mit kurzen und langen Dateinamen / Übergabe

  Alt 21. Mär 2009, 19:26
Ja, anders...

Delphi-Quellcode:
function ExecAndWait(const Filename, Params: string;
                           WindowState: word): boolean;
var
  SUInfo: TStartupInfo;
  ProcInfo: TProcessInformation;
  CmdLine: string;
begin
  //Dateinamen in Anführungszeichen wg. langer Dateinamen mit Blanks
  // Du muss jeden Parameter einzeln in " einschließen
>> CmdLine := '"' + Params + '"';
  // DAs klappt nicht, weil beide Parameter innerhalb " "

  FillChar(SUInfo, SizeOf(SUInfo), #0);
  with SUInfo do
  begin
    cb := SizeOf(SUInfo);
    dwFlags := STARTF_USESHOWWINDOW;
    wShowWindow := WindowState;
  end;
  
  // vvvvvvvvvvvvvv
  Result := CreateProcess(PChar(Filename), PChar(params), 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;
  Mit Zitat antworten Zitat