Moin, gibt es eine Funktion zum Auslesen des Eigene Dateien bzw Desktop Pfades? Für den Windows Ordner gibt es ja z.B. GetWindowsDirectory() und für system32-Ordner GetSystemDirectory().
Moin, gibt es eine Funktion zum Auslesen des Eigene Dateien bzw Desktop Pfades? Für den Windows Ordner gibt es ja z.B. GetWindowsDirectory() und für system32-Ordner GetSystemDirectory().
Guck mal in der MSDN nach der Funktion "GetSpecialFolders".
Mfg
http://msdn.microsoft.com/en-us/library/bb762181(VS.85).aspx
ich glaube, mit der Funktion kannst du das auch herausfinden.
Generell solltest du immer das msdn konsultieren bei solchen Fragen...
Danke für die Antworten.
Also ich habe es jetzt mit SHGetFolderPath() versucht, allerdings kommen folgende Fehler:
Mein Quellcode:Code:Erzeugen [C++ Fehler] shobjidl.h(2193): E2238 Bezeichner 'FOLDERSETTINGS' mehrfach deklariert [C++ Fehler] shobjidl.h(8095): E2238 Bezeichner 'DESKBANDINFO' mehrfach deklariert [C++ Fehler] shlobj.h(1422): E2238 Bezeichner 'FVSHOWINFO' mehrfach deklariert [C++ Fehler] shlobj.h(3457): E2238 Bezeichner 'SHELLFLAGSTATE' mehrfach deklariert
(Borland C++ Builder 6 Personal)Code://--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop #include "Unit1.h" #include "shlobj.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { char Pfad[256]; SHGetFolderPath(NULL,CSIDL_PERSONAL,NULL,0,Pfad); Label1->Caption=String(Pfad); } //---------------------------------------------------------------------------
Ohne das Einbinden der shlobj.h werden die Funktionen nicht gefunden, d.h. die muss schon mal drin bleiben.
Versuchs mal mit getenv() und der Environment-Variable für den User-ordner. Von da brauchst du ja nur anzuhängen.
Danke enco
Könnte mir vielleicht noch jemand einen Beispielpfad auf den Desktop auf Vista geben? Wegen dem anhängen, denn bei Vista weiß ich nicht so genau wie es aussieht
Außerdem fehlt noch der Eigene Dateien Ordner, ich weiß nicht wo der Standardmäßig liegt aber ich habe den z.B. selbst auf F:\ gelegt. (Falls es da eine Umgebungsvariable gibt, bitte posten, ich finde sie nicht ) Ansonsten siehe meinen Beitrag über encos; damit würde es wohl gehen, wenn ich die Fehler wegbekomme.
Ich nehme an, dass in diesen Headerdateien die Bezeichner#include <vcl.h>
#pragma hdrstop
#include "Unit1.h"
#include "shlobj.h"schon deklariert sind.[C++ Fehler] shobjidl.h(2193): E2238 Bezeichner 'FOLDERSETTINGS' mehrfach deklariert
[C++ Fehler] shobjidl.h(8095): E2238 Bezeichner 'DESKBANDINFO' mehrfach deklariert
[C++ Fehler] shlobj.h(1422): E2238 Bezeichner 'FVSHOWINFO' mehrfach deklariert
[C++ Fehler] shlobj.h(3457): E2238 Bezeichner 'SHELLFLAGSTATE' mehrfach deklariert
@antr4xx: Ja, aber wo bzw wie behebe ich das, habe eigentlich bisher nie in dem Bereich gearbeitet.
@onkel2000: Was bringt mir die Seite? Ich finde die Lösung nicht zu meinem Problem.