Einzelnen Beitrag anzeigen

Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#16

AW: ShellExecute: Probleme bei der Übergabe von zusätzlichen Programmparametern

  Alt 10. Jun 2011, 11:12
Das Problem ist, dass die Dateiumleitung eine "Spezialität" von %comspec% (also meist cmd.exe) ist. Deshalb musst Du auch diese starten. Was bei ShellExecute geschieht ist ja Folgendes (ich hoffe, ich gebe das jetzt korrekt wieder):
Zunächst wird die Dateiendung der übergebenen Datei daraufhin untersucht, ob sie registriert ist (Eintrag unter z.B. HKCL\.bla zeigt auf blafile). Nun wird zum geraden ermittelten Schlüssel gesprungen und dieser untersucht (bei einem 'open'-Befehl HKCL\blafile\Shell\open\command) und das dort angegebene Programm ("C:\Programme\Wuppdi\bla.exe" "%1") mit dem übergebenen Dateinamen als Parameter gestartet. Daher kann es auch sein, dass je nach Befehl (open, print etc.) unterschiedliche Programme aufgerufen werden, da in den entsprechenden Schlüsseln eben unterschiedliche Programme eingetragen sind.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat