SHGetFolderPath Problem



  • Hallo,

    ich benutze den Borland C++ Builder 6 und möchte mit SHGetFolderPath den Desktop Ordner bekommen.
    Das würde ich so machen:

    #include "shlobj.h"
    // [...]
      char *Pfad;
      SHGetFolderPath(NULL,FOLDERID_Desktop,NULL,0,Pfad);
    

    Allerdings möchte das Programm nicht wie ich möchte:

    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
    

    Ich bin noch ein Anfänger und weiß nicht wo genau ich da was machen muss. Hoffe hier kann mir jemand helfen 👍

    MfG Tomo



  • Übrigens falls es "CSIDL_DESKTOP" sein muss, sagt bitte Bescheid, bin mir nicht mehr 100% sicher(naja das wäre nicht der Grund für DIESE fehler)



  • Push



  • GetSpecialPath(CSIDL_DESKTOPDIRECTORY, path);



  • Füge vor dem #include <vcl.h> folgende Zeile ein:

    #define NO_WIN32_LEAN_AND_MEAN
    

    Und ja, es sollte CSIDL_DESKTOP sein. Die Frage wäre dann, auch wenn es um eine WinAPI-Funktion geht im BCB-Forum besser aufgehoben gewesen. 😉 Dann hättest Du auch nicht pushen müssen. 😉



  • Danke, es funktioniert!


Anmelden zum Antworten