Einzelnen Beitrag anzeigen

Benutzerbild von Dalai
Dalai

Registriert seit: 9. Apr 2006
1.682 Beiträge
 
Delphi 5 Professional
 
#16

AW: windows eigenschaften-dialog für datenträger anzeigen lassen

  Alt 30. Jun 2020, 13:15
Deine Anregung den "DeskFolder" nicht zu nutzen, da komme ich gerade noch nicht ganz klar. So wie ich die MS-Docs da verstanden hatte leiten sich alle PIDLs davon ab, was ja auch funktioniert hat. Vielleicht habe ich Dich da auch missverstanden.
OK, ich erkläre es mal anders. Bisher extrahierst du ja den Pfad des übergebenen Dateinamens, parst diesen und bindest ihn an die Variable DeskFolder. Anschließend machst du das gleiche mit dem reinen Dateinamen und der Variable Folder. Du nutzt also zweimal je ein IShellFolder Interface, und einen Dateinamen relativ zu seinem Pfad. Laut MS KB-Artikel soll ParseDisplayName - so mein Verständnis des zitierten Teils - auch mit absoluten Pfaden klarkommen, wenn man ihn mit dem Desktop-Verzeichnis füttert. Es sollte also ausreichen, wenn du eine Instanz von IShellFolder nutzt (DeskFolder) und dort gleich den vollen Pfad reinpackst und parsen lässt.

Ich hoffe, das war ausreichend klar erklärt. In meinen Änderungen hab ich sozusagen komplett auf die Variable Folder verzichtet (zum Test erstmal nur im Falle/Abschnitt des "Failsafes") und stattdessen DeskFolder verwendet.

Grüße
Dalai
  Mit Zitat antworten Zitat