Einzelnen Beitrag anzeigen

Benutzerbild von Dunkel
Dunkel

Registriert seit: 26. Mär 2007
Ort: Klingenstadt
541 Beiträge
 
Delphi 2007 Enterprise
 
#1

"Öffnen mit..." mit mehreren Dateien

  Alt 5. Dez 2007, 23:28
Hallo zusammen!

Ich versuche gerade mit meiner Applikation den Windows-Dialog "Öffnen mit..." zu nutzen. Das funktioniert auch wunderbar mit nur einer Datei. Jetzt möchte ich aber mehr als nur eine Datei der via Dialog ausgewählten Applikation übergeben.

Delphi-Quellcode:
procedure OpenWith(aFileList: TTNTStringList);
var
 Param: widestring;
 WStr: widestring;
 i: word;
begin
  if aFileList.Count = 0 then
    exit;
  WStr:= '';
  for i := 0 to aFileList.Count - 1 do
    WStr:= WStr + ',' + aFileList[i];
  Param:= 'shell32.dll,OpenAs_RunDLL '+WStr;
  ShellExecuteW(Application.Handle,'open','rundll32.exe',
                PWideChar(Param),
                nil, SW_SHOWNORMAL);
end;
Komma-separiert wird nur die letzte Datei berücksichtigt, in Anführungszeichen eingeschlossen funktioniert es garnicht.
Edit: Komma-separiert funktioniert es ebenfalls nicht, der Applikation wird der komplette zusammengesetzte String (WStr) übergeben => ungültige Datei.

Hat jemand einen Tipp für mich wie das funktionieren könnte? Ich habe irgendwie aber das dumme Gefühl, dass sowas überhaupt nicht geht. Auch im Windows-Explorer wird bei mehrerern ausgewählten Dateien nur die letzte an das jeweilige Programm übergeben.

Vielen Dank im Voraus für sachdienliche Hinweise.
Es ist zu wahr um schön zu sein...
  Mit Zitat antworten Zitat