Die
MSDN Hilfe erklärt doch eigentlich jeden Parameter sehr genau.
Was ich mit den Anführungszeichen meinte ist, dass ein Leerzeichen im Pfad sonst nicht funktioniert:
ShellExecute(Handle, nil, 'C:\Avidemux\run.exe', '--load C:\Testordner XY\test.avi', nil, SW_SHOW);
In diesem Fall wäre XY\test.avi ein weiterer Parameter und nicht Teil des Dateinamens. Deshalb müsste das so aussehen:
ShellExecute(Handle, nil, 'C:\Avidemux\run.exe', '--load "C:\Testordner XY\test.avi"', nil, SW_SHOW);
Das Arbeitsverzeichnis ist das Verzeichnis, in dem Dateien ohne Pfadangabe gesucht werden. Wenn das alles mit kompletten Pfaden klappt, dann ist das natürlich am besten. Leider funktionierte das zumindest mit älteren System nicht immer.