Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
Delphi 2005 Personal
|
Re: Problem mit ShellExecute();
8. Aug 2005, 19: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
|
|
Zitat
|