AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Pfad mit GUID (KnownFolderId) umwandeln in vollen Pfad
Thema durchsuchen
Ansicht
Themen-Optionen

Pfad mit GUID (KnownFolderId) umwandeln in vollen Pfad

Ein Thema von CodeX · begonnen am 21. Apr 2016 · letzter Beitrag vom 23. Apr 2016
Antwort Antwort
CodeX

Registriert seit: 30. Okt 2004
475 Beiträge
 
Delphi 12 Athens
 
#1

AW: Pfad mit GUID (KnownFolderId) umwandeln in vollen Pfad

  Alt 23. Apr 2016, 00:52
Klar, man kann eine Stringzuordnung machen und diese nutzen, um Stringteile zu ersetzen. Man kann auch wie beschrieben GUIDs in den Strings erkennen, entnehmen, umwandeln und mit dem Rest von String wieder zusammensetzen. Alles möglich. Ich hatte nur das gefühl, dass das irgendwie falsch bzw. unnötig kompliziert.

Ich habe entsprechend angenommen, dass es eine Funktion wie ExpandEnvironmentStrings geben muss, wo man den Pfad mit GUID reingibt und den umgewandelten vollen Pfad herausbekommt. Ich habe nur leider kein Pendant zu ExpandEnvironmentStrings gefunden, das dies kann und dachte, dass vielleicht hier jemand eine Idee bzw. Erfahrung mit diesem Pfad-GUIDs hat.
Nur Delphi schafft es, einem ein Lächeln zu schenken, wenn man sich beim Schreiben von := vertippt und stattdessen ein :) erscheint.
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#2

AW: Pfad mit GUID (KnownFolderId) umwandeln in vollen Pfad

  Alt 23. Apr 2016, 09:11
Unter KNOWNFOLDERID findest Du u. a. neben den GUIDs die Beschreibung "Legacy Display Name".

Die entsprechenden Werte zu den Beschreibungen kannst Du in der Registry unter "HKEY_CURRENT_USER\Software\Microsoft\Windows\Curr entVersion\Explorer\Shell Folders" und "HKEY_CURRENT_USER\Software\Microsoft\Windows\Curr entVersion\Explorer\User Shell Folders" einsehen.

Die Pfade, auf die die einzelnen GUIDs verweisen, können auf jedem System anders sein. Die Frage, die sich für mich stellte ist momentan: Was möchtest Du erreichen?

Was ist hiermit? IKnownFolder::GetPath

Wäre dashier 'ne Anregung: http://delphi.about.com/od/kbwinshel...FolderPath.htm
  Mit Zitat antworten Zitat
CodeX

Registriert seit: 30. Okt 2004
475 Beiträge
 
Delphi 12 Athens
 
#3

AW: Pfad mit GUID (KnownFolderId) umwandeln in vollen Pfad

  Alt 23. Apr 2016, 10:09
Was möchtest Du erreichen?
Wie gesagt: Ich erhalte über eine Schnittstelle Pfad-Strings, die ggf. GUIDs als Teil des Pfades enthalten. Um mit dem Pfad nun arbeiten zu können, muss ich das erst in einen echten Pfad umwandeln. Meine Annahme war, dass es eine ähnliche Funktion wie ExpandEnvironmentStrings geben muss, die das direkt und ohne Umwege kann, die ich aber nur nicht finde. Daher hier die Frage...
Nur Delphi schafft es, einem ein Lächeln zu schenken, wenn man sich beim Schreiben von := vertippt und stattdessen ein :) erscheint.
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#4

AW: Pfad mit GUID (KnownFolderId) umwandeln in vollen Pfad

  Alt 23. Apr 2016, 10:23
Wäre dashier eventuell eine Hilfe?

http://www.delphipraxis.net/170313-v...olderpath.html

Und dort die Routine "SHGetKnownFolderPath", da geht 'ne GUID rein und der Pfad kommt raus.
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#5

AW: Pfad mit GUID (KnownFolderId) umwandeln in vollen Pfad

  Alt 23. Apr 2016, 15:05
Du verstehst das eigentliche "Problem" nicht. Wie er die GUID in den eigentlichen Pfad umwandeln kann, weiß er. Die Frage ist eigentlich nur, ob es eine API gibt, die dies analog zu MSDN-Library durchsuchenExpandEnvironmentStrings auch direkt mit zusammengesetzten Strings machen kann.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
nahpets
(Gast)

n/a Beiträge
 
#6

AW: Pfad mit GUID (KnownFolderId) umwandeln in vollen Pfad

  Alt 23. Apr 2016, 15:29
Doch, ich verstehe das eigentliche Problem und die passende API gibt es nicht (oder ist so gut versteckt, dass man sie nicht finden kann).
Daher Lösungsalternativen.
  Mit Zitat antworten Zitat
CodeX

Registriert seit: 30. Okt 2004
475 Beiträge
 
Delphi 12 Athens
 
#7

AW: Pfad mit GUID (KnownFolderId) umwandeln in vollen Pfad

  Alt 23. Apr 2016, 15:47
Du verstehst das eigentliche "Problem" nicht. Wie er die GUID in den eigentlichen Pfad umwandeln kann, weiß er. Die Frage ist eigentlich nur, ob es eine API gibt, die dies analog zu MSDN-Library durchsuchenExpandEnvironmentStrings auch direkt mit zusammengesetzten Strings machen kann.
Danke.

SHGetKnownFolderPath hatte ich ja schon im Eingangsposting erwähnt und das ist auch kein Problem - man muss aber eben "drumherum arbeiten": Zerlegen, GUID prüfen/umwandeln und wieder zusammensetzen. Wenn es aber ein Pendant zu ExpandEnvironmentStrings (was den String als Ganzes nimmt) gäbe, würde ich das bevorzugen, weil es einfach die sauberere Lösung wäre. Da es für mich naheliegend war, dass es sowas geben müsste, ich es aber nicht gefunden hatte, habe ich hier nachgefragt, ob jemand sowas kennt.
Nur Delphi schafft es, einem ein Lächeln zu schenken, wenn man sich beim Schreiben von := vertippt und stattdessen ein :) erscheint.
  Mit Zitat antworten Zitat
Antwort Antwort


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 06:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz