AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Liste von "Dieser PC" erhalten?

Ein Thema von MicMic · begonnen am 30. Okt 2019 · letzter Beitrag vom 31. Okt 2019
Antwort Antwort
Seite 1 von 2  1 2      
MicMic

Registriert seit: 26. Mai 2018
296 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

Liste von "Dieser PC" erhalten?

  Alt 30. Okt 2019, 09:23
Hallo,
In "Dieser PC" stehen ja erst mal Laufwerksbuchstaben, dann aber auch ein paar Ordnernamen. Die Liste kann sich ja auch ändern. Deshalb würde ich gerne stets die Liste aus dem Windows-System auslesen können. Wie hole ich mir diese? Stehen sicherlich in der Registry aber könnte mir vorstellen, es gibt auch API Funktionen dafür. Hat vielleicht jemand ein Beispiel rumliegen?

Gruß Mic
  Mit Zitat antworten Zitat
Benutzerbild von Moombas
Moombas

Registriert seit: 22. Mär 2017
Ort: bei Flensburg
525 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Liste von "Dieser PC" erhalten?

  Alt 30. Okt 2019, 10:25
Blöde Frage aber welches OS? Win10?

"Dieser PC" habe ich noch nie wahrgenommen XD
Der Weg ist das Ziel aber man sollte auf dem Weg niemals das Ziel aus den Augen verlieren.
  Mit Zitat antworten Zitat
MicMic

Registriert seit: 26. Mai 2018
296 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#3

AW: Liste von "Dieser PC" erhalten?

  Alt 30. Okt 2019, 10:33
Ja Sorry.. Windows 10 im Explorer
Davor war es glaub ich, "Arbeitsplatz"
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

Registriert seit: 28. Apr 2008
Ort: Stolberg (Rhl)
6.659 Beiträge
 
FreePascal / Lazarus
 
#4

AW: Liste von "Dieser PC" erhalten?

  Alt 30. Okt 2019, 10:51
"dieser PC" besteht aus zwei Teilen
zum einen einige Standardverzeichnisse: SHGetFolderPath
und den verfügbaren Laufwerken: GetDriveType

Das aber nur für den Einstieg, mindestens SHGetFolders ist heute veraltet.

Gruß
K-H
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
MicMic

Registriert seit: 26. Mai 2018
296 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#5

AW: Liste von "Dieser PC" erhalten?

  Alt 30. Okt 2019, 11:03
Ja, die Funktionen zu SpecialFolders kenne ich... Trotzdem Danke für die Info.
Jedenfalls ist der Inhalt "Dieser PC" vorgegeben. Die Liste dort mit den Ordnern, die zu den echten Verzeichnissen verweisen, kann man über die Registry abändern. Und das machen wohl einige Anwender (viele Fragen danach laut Google). Wenn möglich, soll man ja lieber Funktionen nutzen, als irgendwas aus der Registry zu holen (z.B. SHGetFolderPath). Deswegen meine Frage, ob's evtl. Funktionen gibt, damit ich diesen Inhalt der speziellen Ordner von "Mein PC" auslesen kann. Wenn es dafür nichts gibt, muss ich es halt aus der Registry auslesen.
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.176 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Liste von "Dieser PC" erhalten?

  Alt 30. Okt 2019, 11:21
Ich gehe stark davon aus dass es reine Registry-Einträge sind, denn man kann die Liste ja beliebig anpassen: Einträge entfernen und ganz eigene hinzufügen. Mein Tool der Wahl dafür war immer "ThisPC Tweaker", mittlerweile aufgegangen in WinAeroTools -> WinAero.com.

Weiß gar nicht ob das quelloffen ist, aber vielleicht kann man den Autor ja anschreiben wenn man auf die Schnelle selbst nichts findet...
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Liste von "Dieser PC" erhalten?

  Alt 30. Okt 2019, 16:10
also diese kauf komponente stellt dies alles bereit... jam-software /shellbrowser
ansonsten mach's wie oben beschrieben selber
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.960 Beiträge
 
Delphi 12 Athens
 
#8

AW: Liste von "Dieser PC" erhalten?

  Alt 30. Okt 2019, 18:15
Naja, der Shellbrowser benutzt die Explorer Umsetzung und zeigt damit genau das an,
was der Explorer anzeigt. Kann nützlich sein, muss aber nicht.
  Mit Zitat antworten Zitat
MicMic

Registriert seit: 26. Mai 2018
296 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#9

AW: Liste von "Dieser PC" erhalten?

  Alt 30. Okt 2019, 19:55
Naja, ich versuche keine Komponenten zu nutzen. Egal ob Kostenlos oder nicht. Versuche halt alles selbst zu machen, da man so auch besser lernt.
Mit der Registry ist's aber nicht so einfach. Es ist zwar leicht die Liste zu bekommen, also die CLSIDs aber von den bekannten Ordnern gibt's keine Beschreibung (z.B. 3D-Objekte). Habe versucht CLSIDs zu folgen aber irgendwo habe ich dann "3D-Objects" bekommen. Also kein Deutsch. Ich habe gesehen, dass bei manuellen benutzerdefinierten Einträgen, dazu im CLSID Abschnitt der Standard REG_SZ Wert genutzt wird. Also kann ich hier dies abfragen aber bei den bekannten Ordnern (3D-Objekte, Dokumente, Downloads, Musik etc.) ist dieser Standard REG_SZ leer.

Wenigstens bekomme ich mit:
Code:
SHGetKnownFolderPath(StringToGUID('{...CLSID-Wert...}'),0,0,Path);
das Verzeichnis. Jetzt fehlt mir nur noch der Name. Eigentlich noch das Icon dazu. Aber das Icon ist aus der Registry wohl wieder einfacher herauszulesen. Nur mit den Namen (3D-Objekte, Dokumente, Downloads, Musik etc.) weiß ich noch nicht genau wie.

Gruß Mic
  Mit Zitat antworten Zitat
MicMic

Registriert seit: 26. Mai 2018
296 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#10

AW: Liste von "Dieser PC" erhalten?

  Alt 30. Okt 2019, 22:28
Habs hinbekommen.

Im CLSID/Instance/InitPropertyBag findet sich "TargetKnownFolder" (Registry).
Dieser Wert dann mit "SHGetKnownFolderItem" nutzen und mit "GetDisplayName" kann ich dann Name sowie Pfad ermitteln.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:01 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz