Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Pfad zum Bibliotheks-Ordner (https://www.delphipraxis.net/158205-pfad-zum-bibliotheks-ordner.html)

greenmile 9. Feb 2011 14:53

Pfad zum Bibliotheks-Ordner
 
Hallo,

trotz suche wurde dies leider noch nicht direkt gefragt. Mein Programm sichert automatisch Verzeichnisse und deren Unterverzeichnisse, vorgegeben ist "Eigene Dateien". Unter Windows Vista/7 gibt es den Pfad ja nicht mehr, er ist ja virtuell. Nun kam ich auf die Idee, stattdessen ein übergeordnetes Verzeichnis "c:\benutzer\irgendwas\" zu überwachen und nur dann aktiv zu werden, wenn es sich um ein Unterzeichnis CSIDL_MYPICTURES, CSIDL_MYMUSIC, CSIDL_MYVIDEO handelt; das kann in die Hose gehen, ich weiß, allerdings scheint esmir für den Momentent die schnellste Lösung. Die Frage ist nur: Wie heißt der übergeordnete Pfad auf Dateiebene (nicht Explorer)? Also wenn der Normaluser nichts ändert?

Paul

WM_CLOSE 9. Feb 2011 17:51

AW: Pfad zum Bibliotheks-Ordner
 
Bei mir heißt er
Code:
C:\Users\[Benutzername]\
Das ist übrigens bei allen SprachVersionen von win 7 so

Herausfinden kann man es in der Kommandozeile, da hat sich
nie jemand die Mühe gemacht das zu übersetzen.

Wie wäre es denn mit GetSpecialFolder?

PS: Kannst du mir das Programm vielleicht schicken? Am Besten mit Source?
Ich werd es auch nicht veröffentlichen oder so.

mirage228 9. Feb 2011 18:06

AW: Pfad zum Bibliotheks-Ordner
 
Ab Windows Vista gibt es die bekannten CSIDL übrigens nur noch aus Kompatibiltätsgründen. Aktuell sind da die sogenannten MSDN-Library durchsuchenKnownFolders. Vielleicht hilft Dir das ja auch weiter.

greenmile 10. Feb 2011 09:55

AW: Pfad zum Bibliotheks-Ordner
 
Ich sichere nun direkt CSIDL_PERSONAL, wenn < Vista.
Wenn >= Vista, dann nehme ich CSIDL_MYPICTURES, CSIDL_MYVIDEO, CSIDL_MYMUSIC. Aber irgendwas fehlt mir da noch, wo werden zum Beispiel die Texte (von zB Word 2003) gespeichert? In CSIDL_PERSONAL?

Mit der Zeit bekommt man dieselben Problme wie Microsoft: Immer abwärtskompatibel bleiben, da die Anwendungen ja auch unter XP verwendet werden können. Das nervt echt.

mirage228 10. Feb 2011 11:34

AW: Pfad zum Bibliotheks-Ordner
 
Zitat:

Zitat von greenmile (Beitrag 1080778)
In CSIDL_PERSONAL?

bzw. CSIDL_MYDOCUMENTS (ist das gleiche, jedoch gibts das erst ab CommCtrls Version 6.0). Das sollte dem "Eigene Dateien" / "Eigene Dokumente"-Ordner entsprechen. Siehe: http://msdn.microsoft.com/en-us/libr...(v=VS.85).aspx .

Ich weiß aber gerade nicht, ob Word (2010) unter Windows 7 nicht einfach z.B. in der DefaultStoreLocation der IShellLibrary "Documents" (was standardmäßig eben der "Eigene Dokumente"-Ordner wäre) speichert.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:02 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