1Danke
ERLEDIGT
JA
JA
ANTWORTEN
12
12
ZUGRIFFE
447
447
EMPFEHLEN
-
06.08.11 23:19 #1
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
DankeFehlermeldung bitte!
Google - Dein Freund und Helfer
-
Hi
Du meinst, weil jeder Benutzer seinen eigenen hat?
Probier %userprofile% (bzw. wegen Escapezeichen "%%userprofile%%")
Gruß
-
06.08.11 23:34 #3
Danke
Aber wo kann ich das einsetzten?
So:
DankeCode cpp:1
string test = "%%userprofile%%\\Test";
Geändert von MSVCplusplus (06.08.11 um 23:54 Uhr)
Fehlermeldung bitte!
Google - Dein Freund und Helfer
-
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:
liefert einen String mit dem Pfad.Code cpp:1
getenv("USERPROFILE");
Gruß
-
06.08.11 23:54 #5
Danke
das \ war ein schreibfehler sry
und noch ne Frage den Program Files ordner wie ermittle ich den?
DankeFehlermeldung bitte!
Google - Dein Freund und Helfer
-
06.08.11 23:59 #6
Habe gerade mal geteste.
Bei Userprofile komm ich nur auf den User nicht aber auf Dokumnete!Fehlermeldung bitte!
Google - Dein Freund und Helfer
-
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?
-
07.08.11 00:04 #8
Es gibt in XP Dokumente und in Vista heist es Documents oder so
GrußFehlermeldung bitte!
Google - Dein Freund und Helfer
-
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?
(Alles in einer Zeile).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)
Würd ich aber irgendwie nicht machen...
Frag am Besten gleich den Registrypfad ab, ohne über die CMD zu gehen.
GrußGeändert von sheel (07.08.11 um 00:27 Uhr)
-
07.08.11 08:58 #10
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 -.-Geändert von MSVCplusplus (07.08.11 um 09:09 Uhr)
Fehlermeldung bitte!
Google - Dein Freund und Helfer
-
Den Pfad hättest du aber auch nicht mehr suchen müssen, der ist doch Teil der For-Schleife oben...
Ich meinte aber, besser den Wert mit C-Mitteln abfragen statt dieses komische For.
In besagtem Reg-Verzeichnis gibt es einen REG_EXPAND_SZ namens Personal, der direkt auf die Eigenen Dateien verweist.
Gruß
-
Kein Grund irgendetwas manuell aus der Registry rauszusuchen. Verwende besser SHGetFolderPath:
Code c:1 2 3 4 5 6 7 8 9 10 11 12
#include <Windows.h> #include <ShlObj.h> #include <stdio.h> int main() { TCHAR path[MAX_PATH]; SHGetFolderPath(0, CSIDL_MYDOCUMENTS, 0, SHGFP_TYPE_CURRENT, path); printf("Documents: %s\n", path); SHGetFolderPath(0, CSIDL_PROGRAM_FILES, 0, SHGFP_TYPE_CURRENT, path); printf("Program Files: %s\n", path); }
Grüße,
Matthias„Gib einem Menschen einen Fisch, und er wird für einen Tag satt. Lehre ihn Fischen, und er wird ein Leben lang satt.“
“For every complex problem, there is an answer that is short, simple and wrong.”
“Pessimism is safe, but optimism is a lot faster!”
Aktuelles Coding Quiz: #17 - Wörter kreuz und quer
-
07.08.11 20:34 #13
Danke euch allen hat jetzt endlich funktioniert mit SHGetFolderPath
MFGFehlermeldung bitte!
Google - Dein Freund und Helfer
Ähnliche Themen
-
Aktuellen Pfad herausfinden
Von DirkHo im Forum JavaAntworten: 2Letzter Beitrag: 12.11.09, 13:43 -
Pfad von J2SDK herausfinden
Von Hawkings im Forum Linux & UnixAntworten: 4Letzter Beitrag: 30.04.08, 16:09 -
Pfad herausfinden
Von JaD im Forum C/C++Antworten: 9Letzter Beitrag: 11.02.08, 10:03 -
Pfad herausfinden
Von fruchtzerg im Forum PHPAntworten: 1Letzter Beitrag: 19.08.05, 23:20 -
Pfad-Herausfinden und Image-Komplimierung
Von General Hunter im Forum Visual Basic 6.0Antworten: 16Letzter Beitrag: 09.03.05, 17:38





Zitieren



Login






