C++ Pfad herausfinden

FSA

Erfahrenes Mitglied
Hallo ich wollte mla Frgaen wie ich mit C++ den Pfad Von Dokumente herausfinden kann.
Ind der shlobj.h ist leider nur der public ordner von documente definiert
Danke
 
Hi

Du meinst, weil jeder Benutzer seinen eigenen hat?
Probier %userprofile% (bzw. wegen Escapezeichen "%%userprofile%%")

Gruß
 
Danke
Aber wo kann ich das einsetzten?
So:
C++:
string test = "%%userprofile%%\\Test";
Danke
 
Zuletzt bearbeitet von einem Moderator:
Auf jeden Fall einmal \\ statt \ wegen Escapezeichen.
Sieht man ja sogar an dem Highlighting hier im Forum.
\t wäre ein Tabulator, so wie \n ein Zeilenwechsel.
Aber: Bin mir nicht sicher, ob die Dateifunktionen da direkt mitmachen.
Wenn nicht:
C++:
getenv("USERPROFILE");
liefert einen String mit dem Pfad.

Gruß
 
Danke
das \ war ein schreibfehler sry
und noch ne Frage den Program Files ordner wie ermittle ich den?
Danke
 
Habe gerade mal geteste.
Bei Userprofile komm ich nur auf den User nicht aber auf Dokumnete!
 
Hats funktioniert? Schön...war mir nicht sicher, ob das bei neuren Windows noch gleich geblieben ist (bin noch mit XP unterwegs).

Zum Programme bzw. ProgramFiles: Statt USERPROFILE nimmst du ProgramFiles

Die komplette Liste davon gibts in der CMD, wenn man "set" eintippt.

Gruß

edit: Ja, aber von dort weg heißts ja bei jedem User wieder gleich, oder?
 
Bei mir heißts cmd-mäßig sogar "Dateien von Benutzername" und wird nur im Explorer je nach angemeldetem Benutzer als "Dokumente von Benutzername" oder "Eigene Dateien" angezeigt.

Hmm...eine EnvVar direkt auf die Eigenen Dateien scheints nicht zu geben.

Vielleicht probierst du einmal das?
FOR /F "tokens=3 usebackq delims= " %%I IN (`REG QUERY "HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders" /v Personal`) DO (SET dervariablenname=%%I)
(Alles in einer Zeile).
Würd ich aber irgendwie nicht machen...

Frag am Besten gleich den Registrypfad ab, ohne über die CMD zu gehen.

Gruß
 
Zuletzt bearbeitet:
Danke
Also diese For /F..... einfach in system("..."); reinpacken?
In welchem Pfad ist den der Pfad von Dokumente in der Registry?
MFG

EDIT Habe was gefunden: HKEY_CURRENT_USER\Software\Microsoft\Windows\Curre ntVersion\Explorer\Shell Folders
allredings ist auch wieder nichts mit Dokumenten -.-

EDIT2:
der Pfad: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders
Ist aleider auch niht zu gebrauen nichts mit Dokumenten -.-
 
Zuletzt bearbeitet:
Zurück