![]() |
Pfad mit GUID (KnownFolderId) umwandeln in vollen Pfad
Angenommen ich habe einen Pfad-String dieser Form:
Code:
Wie kann ich diesen am einfachsten in einen vollen, normalen Pfad umwandeln -> C:\Windows\System32\taskmgr.exe
{1AC14E77-02E7-4E5D-B744-2EB1AE5198B7}\taskmgr.exe
Ich habe hierzu nur ![]() ![]() Muss ich den String wirklich zerlegen, dabei alle Eventualitäten beachten, die GUID per SHGetKnownFolderPath umwandeln und wieder zusammensetzen? Oder gibt es eine Funktion, die wie ExpandEnvironmentStrings funktioniert und mir den String einfach umwandelt? |
AW: Pfad mit GUID (KnownFolderId) umwandeln in vollen Pfad
Ist das nicht einfach eine feste Beziehung, wie aus deinem Link ersichtlich ?
Zitat:
Rollo |
AW: Pfad mit GUID (KnownFolderId) umwandeln in vollen Pfad
Zitat:
|
AW: Pfad mit GUID (KnownFolderId) umwandeln in vollen Pfad
Ich meine die FolderIDs mit deren GUIDs sind doch fest in der MSDN Liste beschrieben und vorhanden,
könnte man doch komplett als TDictionary anlegen o.ä. und danach suchen. Oder wie oft ändert sich so eine GUID ? Ok, ist ein bischen Fleissarbeit, wäre jedenfalls bis M$ was ändert eine mögliche Lösung. Rollo |
AW: Pfad mit GUID (KnownFolderId) umwandeln in vollen Pfad
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. |
AW: Pfad mit GUID (KnownFolderId) umwandeln in vollen Pfad
Unter
![]() 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? ![]() Wäre dashier 'ne Anregung: ![]() |
AW: Pfad mit GUID (KnownFolderId) umwandeln in vollen Pfad
Zitat:
|
AW: Pfad mit GUID (KnownFolderId) umwandeln in vollen Pfad
Wäre dashier eventuell eine Hilfe?
![]() Und dort die Routine "SHGetKnownFolderPath", da geht 'ne GUID rein und der Pfad kommt raus. |
AW: Pfad mit GUID (KnownFolderId) umwandeln in vollen Pfad
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
![]() |
AW: Pfad mit GUID (KnownFolderId) umwandeln in vollen Pfad
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. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:21 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