Einzelnen Beitrag anzeigen

ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#2

Re: Problem mit ShellExecute();

  Alt 8. Aug 2005, 18:00
Du hast das Problem mit dem Ausführen-in-Verzeichniss. Die Batchdatei wird so ausgeführt wie wenn sie im Verzeichniss des Programmes läge. Du darfst nicht NIL verwenden, sondern musst
ShellExecute(Handle,'open',PChar(progpath+'testbat.bat'),nil,pchar(progpath),SW_SHOWNORMAL); schreiben. Ich würde die folgende Funktion aus der FmxUtils.pas empfehlen:

Delphi-Quellcode:

function ExecuteFile(const FileName, Params, DefaultDir: string;
  ShowCmd: Integer): THandle;
var
  zFileName, zParams, zDir: array[0..79] of Char;
begin
  Result := ShellExecute(Application.MainForm.Handle, nil,
    StrPCopy(zFileName, FileName), StrPCopy(zParams, Params),
    StrPCopy(zDir, DefaultDir), ShowCmd);
end;
Michael Enßlin
  Mit Zitat antworten Zitat