Ergebnis 1 bis 9 von 9
  1. #1
    CIH-Virus
    Registriert seit
    18.11.2007
    Beiträge
    452

    Standard [C++] Desktop/Eigene Dateien-Pfad herausfinden

    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().

  2. #2
    Fortgeschrittener
    Registriert seit
    12.11.2007
    Beiträge
    38

    Standard

    Guck mal in der MSDN nach der Funktion "GetSpecialFolders".

    Mfg

  3. #3
    W32.Lovgate
    Registriert seit
    01.07.2007
    Beiträge
    354

    Standard

    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...

  4. #4
    CIH-Virus
    Registriert seit
    18.11.2007
    Beiträge
    452

    Standard

    Danke für die Antworten.
    Also ich habe es jetzt mit SHGetFolderPath() versucht, allerdings kommen folgende Fehler:
    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
    Mein Quellcode:
    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);
    }
    //---------------------------------------------------------------------------
    (Borland C++ Builder 6 Personal)

    Ohne das Einbinden der shlobj.h werden die Funktionen nicht gefunden, d.h. die muss schon mal drin bleiben.

  5. #5
    Kuschel-Wuschel enco Avatar von enco
    Registriert seit
    26.01.2006
    Beiträge
    1.075

    Standard

    Versuchs mal mit getenv() und der Environment-Variable für den User-ordner. Von da brauchst du ja nur anzuhängen.

  6. #6
    CIH-Virus
    Registriert seit
    18.11.2007
    Beiträge
    452

    Standard

    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.

  7. #7
    W32.Lovgate
    Registriert seit
    01.07.2007
    Beiträge
    354

    Standard

    #include <vcl.h>
    #pragma hdrstop

    #include "Unit1.h"
    #include "shlobj.h"
    Ich nehme an, dass in diesen Headerdateien die Bezeichner
    [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
    schon deklariert sind.

  8. #8

  9. #9
    CIH-Virus
    Registriert seit
    18.11.2007
    Beiträge
    452

    Standard

    @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.

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •