C# / VB Net - Zugriff auf "spezielle Bibliotheken" und deren Auflistung

  • VB.NET

Es gibt 4 Antworten in diesem Thema. Der letzte Beitrag () ist von exc-jdbi.

    C# / VB Net - Zugriff auf "spezielle Bibliotheken" und deren Auflistung

    Servus...

    ich muss über ein Net Tool (entweder C# oder VB Net) auf eine (Windows Explorer) Bibliothek programmieren. Die Bibliotheken und deren Inhalte, sollen in einem TreeView dargestellt werden.

    Mein bisheriger Versuch sah so aus.

    Quellcode

    1. For Each Drive In Environment.GetLogicalDrives
    2. tn = TreeView1.Nodes.Add(Drive)
    3. tn.Tag = Drive
    4. Try
    5. For Each Verzeichnis In New IO.DirectoryInfo(Drive).GetDirectories
    6. tn.Nodes.Add(Verzeichnis.Name)
    7. Exit For
    8. Next
    9. Catch
    10. End Try
    11. Next


    Soweit ok. Allerdings werden mir dann im TreeVíew nur die logischen Laufwerke wie C: D: E: und so weiter angezeigt.
    Ich benötige aber die Anzeige der Bibliotheken wie Desktop, Dokumente, Bilder, Downloads etc..... wie im Windows Explorer angezeigt (und deren Inhalte eben auch)

    Habe natürlich gegoogelt und versucht etwas zu finden. Das nachfolgende Beispiel zeigt mir zwar die Bibliothek Desktop an, aber eben nur diese.
    Irgendwie hänge ich da gerade fest.

    Quellcode

    1. For Each Drive In Environment.GetFolderPath(Environment.SpecialFolder.Desktop)
    2. tn = TreeView1.Nodes.Add(Drive)
    3. tn.Tag = Drive
    4. Try
    5. For Each Verzeichnis In New IO.DirectoryInfo(Drive).GetDirectories
    6. tn.Nodes.Add(Verzeichnis.Name)
    7. Exit For
    8. Next
    9. Catch
    10. End Try
    11. Next



    Für Anstöße bedanke ich mich schon mal im Voraus.
    Hallo

    Timestheus schrieb:

    Das nachfolgende Beispiel zeigt mir zwar die Bibliothek Desktop an, aber eben nur diese.

    Das liegt daran das du eben nur den Pfad des Desktops abfragst mit GetFolderPath(Environment.SpecialFolder.Desktop).

    Environment.SpecialFolder ist aber z.b. ein Enumerator welchen du auch zu einem Array Konvertieren könntest. Allerdings ist da mehr drinnen als du benötigst insofern würde ich hier nicht alles abrufen.
    Schau dir am besten mal Environment.SpecialFolder in der MSDN an und versuche dich daran. Wenn du wo hängst kannst du hier ja nachfragen.

    Grüße
    Sascha
    If _work = worktype.hard Then Me.Drink(Coffee)
    Seht euch auch meine Tutorialreihe <WPF Lernen/> an oder abonniert meinen YouTube Kanal.

    ## Bitte markiere einen Thread als "Erledigt" wenn deine Frage beantwortet wurde. ##

    Sowas ich auch schon gemacht. Hab damals die benötigten (Desktop, Downloads, Bilder, Dokumente) „SpecialFolders“ einzeln in den TreeView gepackt. Danach dann die Drives.
    "Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. Lehre einen Mann zu fischen und du ernährst ihn für sein Leben."

    Wie debugge ich richtig? => Debuggen, Fehler finden und beseitigen
    Wie man VisualStudio nutzt? => VisualStudio richtig nutzen
    Einzeln? Du meinst die wichtigsten, oder? Um alle reinzupacken:

    VB.NET-Quellcode

    1. For Each SpecialFolder In [Enum].GetValues(GetType(Environment.SpecialFolder)).Cast(Of Environment.SpecialFolder)
    2. ListBox1.Items.Add(Environment.GetFolderPath(SpecialFolder))
    3. Next

    Hier werden die Pfade als Strings in die ListBox reingehauen.
    "Advanced": DirectoryInfos mit den Pfaden erstellen und diese in ne BindingSource reinhauen und die BindingSource als Quelle für die ListBox verwenden. Dann hat man "echte" Objekte.
    Stichwort keine Strings in die File-ListBox
    Dieser Beitrag wurde bereits 5 mal editiert, zuletzt von „VaporiZed“, mal wieder aus Grammatikgründen.

    Häufig von mir verwendete Abkürzungen: CEs = control elements (Labels, Buttons, DGVs, ...) und tDS (typisiertes DataSet)
    Aufgrund spontaner Selbsteintrübung sind all meine Glaskugeln beim Hersteller. Lasst mich daher bitte nicht in den Spekulatiusmodus gehen.
    Ich habe jetzt einfach mal kurz ein paar Stichworte bei Frau Google eingegeben, und wie ich vermutet habe, gibt es schon viele gute Beispiel-Projekte. Vielleicht einfach msl eines anschauen, und sich ein Bild machen, wie man so was lösen kann.
    vbforums.com/showthread.php?512092-Show-folders-files-
    codeproject.com/Articles/30194…xplorer-using-VB-NET-2008

    Es gibt noch viele weitere gute Beispiele, die sogar detaillierter besprochen und erklärt werden.

    Freundliche Grüsse

    exc-jdbi

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „exc-jdbi“ ()