Kommt drauf an, was du mit ShellExecute ausführen / öffnen willst. Programme damit zu starten ist eh "von hinten durch's Knie ins Auge", dafür sind andere Sachen da.
Und Konventionen gelten da genauso wie für die Kommandozeile. Ein " ist als Zeichen im Dateinamen ohnehin verboten, somit kannst du da auch die Pfade mit eingrenzen.
Wobei ich jetzt nicht sicher bin, ob du Pfade bei ShellExecute überhaupt in Anführungszeichen setzen musst.
Würde fast mal behaupten "Nein".
Anders schauts da aus, wenn du über den Kommando-Interpreter Programme starten willst: ShellExecute (
Handle, 'open', 'cmd.exe /C "C:\Program Files\xyz\xyz.exe"', ...)
Da mußt du aber wissen, was für ein
OS auf dem Zielrechner läuft. Weil wenn du Pech hast und jemand hat noch Windows ME oder noch niedriger, ists statt cmd.exe command.com. Von daher nimm lieber CreateProcess zum Starten von Programmen.