Ich denke erst am kommt es darauf an wie das gerufene Programm die Parameter entgegen nimmt.
Ob die rundll32.exe mehrere Dateien (komma-separiert oder nicht) akzeptiert weiß ich nicht, nach deiner Beschreibung her wohl eher nicht.
Warum rufst du nicht ich der Gleichen schleife für jede einzelne Datei die rundll32.exe?
Delphi-Quellcode:
for i := 0 to aFileList.Count - 1 do
begin
WStr:= aFileList[i];
Param:= 'shell32.dll,OpenAs_RunDLL '+WStr;
ShellExecuteW(Application.Handle,'open','rundll32.exe',
PWideChar(Param),
nil, SW_SHOWNORMAL);
end;
sollte doch das gleiche bewirken, oder?