Ok himi, jetzt habe ich es verstanden.
Zitat von
fishly:
... aber warum steht dass dann in nem Tutorial so, als würde es funktionieren?
Naja. Wie man es nimmt. Du bekommst mit SHGetSpecialFolderLocation einen Pointer auf den Arbeitsplatz, jedoch kann SHGetPathFromIDList keinen Pfad ermitteln. Deshalb der leere String.
Bei ShellExecuteInfo reicht dieser Pointer und der Explorer öffnet mit dem Arbeitsplatz. Das ShellTreeView macht es wie in Himitsus C-Forums-Link angesprochen und hangelt sich vom Desktop zum Arbeitsplatz durch.
Nachtrag: Das ShellTreeView kann mit dem rfMyComputer auch nichts anfangen.
Zitat von
fishly:
Gibt es sonst noch eine andere Möglichkeit mein Anfangsproblem zu lösen?
Mit dem TOpenDialog wohl nicht direkt. Vielleicht kannst Du Dich mit obigem Vorschlag anfreunden und die nächsthöhere Ebene - den Desktop - öffnen. Sonst müsste man versuchen, einen Klick auf den Arbeitsplatz-Button in der Placesbar zu simulieren oder die Auswahl der Combobox zu manipulieren.
Oder einen anderen Dialog wählen. Beim SelectDirectory lassen sich wohl auch Dateien anzeigen.