Hallo,
die Leerzeichen könnten ein Problem sein, wenn sie nicht mit den Hochkommata über ShellExecute beim Programm ankommen sollten, dann wird der Dateiname als mehrere Parameter interpretiert.
Mach Dir mal 'ne Batchdatei, die Du per ShellExecute aufrufst. Der Batchdatei übergibst Du Deinen bisherigen Aufruf in Shellexecute in unveränderter Form.
Die Batchdatei könnte in etwas so aussehen (nicht getestet)
Code:
@ECHO OFF
Name der Batchdatei %0
Parameter 1 %1
Parameter 2 %2
Parameter 3 %3
Parameter 4 %4
Parameter 5 %5
Parameter 6 %6
Parameter 7 %7
Parameter 8 %8
Parameter 9 %9
@pause
Wenn Du in der Ausgabe der Batchdatei den Dateinamen auf mehrer Zeilen verteilt siehst, sind die Leerzeichen das Problem, da dann der Dateiname nicht als ein Parameter übergeben wird.