Methode um Pfad von EigeneDateien zu finden

Zeller

Mitglied
Hallöchen zusammen.

Ich arbeite an einem Dateiverwaltungsprogramm und habe nun einige Probleme.

1. Ich brauche eine Methode um den Pfad von EigeneDateien zu finden.

2. Ich benötige eine Methode die mir Laufwerke, Desktop und Netzwerkumgebung angibt.

Ich habe eine Variante die jedoch mit Borland C++ Builder erstellt wurde und ich schaffe es nicht diese um zu schreiben damit es mit visual studio.Net 2003 läuft.

Schon jetzt vielen Dank für eure Hilfe.
 
Ab Version 4.0 des IE gibt es die Funktion SHGetSpecialFolderPath.

Ansonsten kannst du die aus der Registry holen (HKEY_LOCAL_MACHINE, SOFTWARE\\Microsoft\\Windows\\CurrentVersion).

Was du da haben willst, klingt nach einer Explorer-ähnlichen Ansicht. Da arbeitest du am besten mit den Shell-Befehlen. Der erste ist dann SHGetDesktopFolder. Mit EnumObjects bekommst du dann die Childs vom Desktop (in der Shell ist der Desktop ganz unten, alle Laufwerke und Netzwerkverbindungen sind dann untergeordnet). Ist etwas aufwendig. Google am besten mal nach "Shell Programming".
 
Habe das Problem mit den EigenenDateien lösen können.

Bringe nun jedoch SHGetSpecialFolderPath mit CSIDL_DRIVES nich zum laufen.
 
Jaha, das ist das schöne an dem Shell-Namespace-Gedöns: Da sind einige virtuelle Ordner dabei, die keinem echten Pfad entsprechen. Steht bei SHGetSpecialFolderPath auch bei den Parametern bei:

If a virtual folder is specified, this function will fail.

Bei virtuellen Ordnern (ich meine, das Parent weiss, ob dein ShellFolder virtuell ist oder nicht) kannst du zwar enumieren, aber keine Pfade zuordnen. Achtung: Die Childs von einem virtuellen Folder können aber wieder "echte" Pfade sein.
 
Zurück