Bekomme nicht alle Systemverzeichnispfade zurück



  • Hallo alle zusammen,

    ich habe wieder mal ein Problem und zwar bekomme nicht alle Systempfade zurück:

    [code]
    #define NO_WIN32_LEAN_AND_MEAN
    #include <vcl.h>
    #pragma hdrstop
    
    #include "SysPfade.h"
    //---------------------------------------------------------------------------
    #pragma package(smart_init)
    #pragma resource "*.dfm"
    TForm1 *Form1;
    
    using namespace std;
    
    bool getDirectory(DWORD id, LPSTR buf) 
    { 
        LPITEMIDLIST pidl;
        if (SHGetSpecialFolderLocation(0,id,&pidl) == NOERROR)
        { 
            SHGetPathFromIDList(pidl, buf);
            return true; 
        }
        else  
        {  
            return false; 
        }
    } 
    //--------------------------------------------------------
    void TForm1::pfad_holen(DWORD id)
    {
      char buf[100];
    
      if(getDirectory(id, buf))
      Edit1->Text = buf;
    }
    //-------------------------------------------------------
    

    Jetzt Aufrufe bei den kein Pfad zurück gegeben wird:

    void __fastcall TForm1::Button4Click(TObject *Sender)
    {
    pfad_holen(CSIDL_CONTROLS); //Systemsteuerung
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button5Click(TObject *Sender)
    {
    pfad_holen(CSIDL_PRINTERS); //Drucker
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm1::Button11Click(TObject *Sender)
    {
     pfad_holen(CSIDL_BITBUCKET); //Papierkorb
    }
    //---------------------------------------------------------------------------
    

    Muss etwas villeicht includiert werden?
    Hat jemand ein Tip?
    Über eine Antwort würde mich sehr freuen!



  • Das ist vollkommen korrekt so. Für diese Systempfade existiert kein Ordner im Dateisystem.



  • @Joe_M.
    Danke für deine Antwort!

    dann ist die nächste Frage, wie bekomme den Inhalt von diesen "Orten"?



  • Keine Ahnung. Control Panel und Papierkorb hab ich noch nie benötigt und für die Drucker nehm ich immer das globale Printers-Objekt...



  • Danke Dir trotzdem!

    Weiß jemand noch die Antwort?
    Über jede Antwort würde mich sehr freuen!



  • Dieser Thread wurde von Moderator/in Jansen aus dem Forum VCL/CLX (Borland C++ Builder) in das Forum WinAPI verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Hallo alle zusammen,

    kann mir jemand bei diese Frage Helfen?

    Über jede Antwort werde ich mich sehr freuen!


Anmelden zum Antworten