Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
Delphi 2007 Professional
|
Re: Probleme mit kurzen und langen Dateinamen / Übergabe
21. Mär 2009, 20: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;
|
|
Zitat
|