Eventuell wird irgrendwas in deiner
DLL nicht richtig beendet und somit wird dann auch nicht die Kontrolle an den Explorer zurückgergeben
Und gibt ShellExecute nicht, wenn es erfolgreich ausgeführt wurde, ein
Handle auf irgendwas vom aufgerufenen Programm zurück?
Ach ja, warum übergibst du eigentlich alles einzeln?
Wäre es nicht auch ganz einfach alle Dateien in 'ner Art StringList zu übergeben?
(also alles auf einmal ... schwups drüben isses)
z.B. wie in der Registry ... dort werden die Einzelstrings durch #0 voneinander getrennt und die ganze Liste wird mit #0#0 abgerschlossen.