AGB  ·  Datenschutz  ·  Impressum  







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

Get Windows Special Folders

Ein Thema von terence14 · begonnen am 11. Jan 2013 · letzter Beitrag vom 14. Jan 2013
Antwort Antwort
terence14
(Gast)

n/a Beiträge
 
#1

Get Windows Special Folders

  Alt 11. Jan 2013, 08:12
Liebe DP Gemeinde,
trotz vieler Postings über die CSIDL_xxx vordefinierten
Werte von speziellen Pfaden unter Windows, stelle ich
immer wieder fest, daß manche Werte funktionieren, andere
leider nicht.

Aus diesem Grunde habe ich ein kleines Tool gemacht - im
zip-Archive natürlich das komplette Test Project.

MfG,
terence

Im Anhang
PSpecialPathes-Test_2013_01_11.zip - 225.470 Bytes

Geändert von terence14 (29. Mär 2013 um 13:40 Uhr)
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#2

AW: Get Windows Special Folders

  Alt 11. Jan 2013, 08:48
Die sollten schon funktionieren, aber je nach Delphi-Version sind einige Konstanten noch unbekannt.
  Mit Zitat antworten Zitat
Benutzerbild von p80286
p80286

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

AW: Get Windows Special Folders

  Alt 11. Jan 2013, 09:42
Na und dann läßt Du sie dir in einer Schleife ausgeben.
Und es gibt wirklich ein paar Werte da hab ich bisher noch kein Wording für gefunden, und umgekehrt wordings da ist angeblich der Übergabewert unbekannt.

Es muß ja auch noch etwas für "undocumented windows" geben.

Gruß
K-H

P.S.
Bevor Du nach Details fragst, die liegen zu Hause gaanz tief unten...
Programme gehorchen nicht Deinen Absichten sondern Deinen Anweisungen
R.E.D retired error detector
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#4

AW: Get Windows Special Folders

  Alt 11. Jan 2013, 10:57
Da mein Delphi nicht alle Konstanten kennt, habe ich sie mir in einer meiner Units neu definiert und näher angeguckt. Nebenbei habe ich mir paar Kommentare dazu notiert (muss nicht vollständig und richtig sein). Vielleicht kann es einer gebrauchen:

Delphi-Quellcode:
  CSIDL_DESKTOP = $0000; // %HomeDir%\Desktop (virtueller Ordner)
  CSIDL_INTERNET = $0001; // (??? -leer- Internet Explorer) (virtueller Ordner)
  CSIDL_PROGRAMS = $0002; // %HomeDir%\Startmenü\Programme;
  CSIDL_CONTROLS = $0003; // (??? -leer- Icons für Systemsteuerung) (virtueller Ordner)
  CSIDL_PRINTERS = $0004; // (??? -leer- Installierte Drucker) (virtueller Ordner)
  CSIDL_PERSONAL = $0005; // %HomeDir%\Dokumente;
  CSIDL_FAVORITES = $0006; // %HomeDir%\Favoriten;
  CSIDL_STARTUP = $0007; // %HomeDir%\Programme\Autostart;
  CSIDL_RECENT = $0008; // %HomeDir%\Recent; (um einen Eintrag in dieses Verzeichnis zu erzeugen, sollte SHAddToRecentDocs benutzt werden)
  CSIDL_SENDTO = $0009; // %HomeDir%\SendTo;
  CSIDL_BITBUCKET = $000a; // (??? -leer- Recycle Bin)
  CSIDL_STARTMENU = $000b; // %HomeDir%\Startmenü;
  CSIDL_MYMUSIC = $000d; // %HomeDir%\Dokumente\Eigene Musik;
  CSIDL_MYVIDEO = $000e; // %HomeDir%\Dokumente\Eigene Videos;
  CSIDL_DESKTOPDIRECTORY = $0010; // %HomeDir%\Desktop; (liefert den Desktop-Pfad, allerdings... siehe Hinweis unten)
    {hier werden die Objekte auf dem Desktop physisch gespeichert (nicht zu verwechseln mit CSIDL_DESKTOP), ein typisches Verzeichnis ist C:\Windows\username\Desktop)}
  CSIDL_DRIVES = $0011; // (??? -leer- Arbeitsplatz [Laufwerke, Drucker, Systemsteuerung, usw]) (virtueller Ordner)
  CSIDL_NETWORK = $0012; // (??? -leer- Netzwerkumgebung-virtuelles Verzeichnis)
  CSIDL_NETHOOD = $0013; // %HomeDir%\Netzwerkumgebung;
  CSIDL_FONTS = $0014; // %WinDir%\Fonts;
  CSIDL_TEMPLATES = $0015; // %HomeDir%\Vorlagen;
  CSIDL_COMMON_STARTMENU = $0016; // %AllUsers%\Startmenü; (Nur für WinNT).
  CSIDL_COMMON_PROGRAMS = $0017; // %AllUsers%\Startmenü\Programme;
  CSIDL_COMMON_STARTUP = $0018; // %AllUsers%\Startmenü\Programme\Autostart; (Nur für WinNT).
  CSIDL_COMMON_DESKTOPDIRECTORY = $0019; // %AllUsers%\Desktop; (Nur für WinNT)
  CSIDL_APPDATA = $001a; // %HomeDir%\Anwendungsdaten;
  CSIDL_PRINTHOOD = $001b; // %HomeDir%\Druckumgebung;
  CSIDL_LOCAL_APPDATA = $001c; // %HomeDir%\Lokale Einstellungen\Anwendungsdaten;
  CSIDL_ALTSTARTUP = $001d; // (??? -leer- veraltet)
  CSIDL_COMMON_ALTSTARTUP = $001e; // (??? -leer- veraltet) (Nur für WinNT)
  CSIDL_COMMON_FAVORITES = $001f; // %AllUsers%\Favoriten; (Ablage für gemeinsame Favoriten) (Nur für WinNT).
  CSIDL_INTERNET_CACHE = $0020; // %HomeDir%\Temporary Internet Files;
  CSIDL_COOKIES = $0021; // %HomeDir%\Cookies;
  CSIDL_HISTORY = $0022; // %HomeDir%\Verlauf;
  CSIDL_COMMON_APPDATA = $0023; // %AllUsers%\Anwendungsdaten;
  CSIDL_WINDOWS = $0024; // %WinDir%; (Wird als sicherere Alternative zu GetWindowsDirectory empfohlen)
//CSIDL_SYSTEM = $0025; // %SysDir%; (siehe auch $0029, gleich; wird als sicherere Alternative zu GetSystemDirectory empfohlen)
  CSIDL_PROGRAM_FILES = $0026; // %ProgramFiles%;
  CSIDL_MYPICTURES = $0027; // %HomeDir%\Dokumente\Eigene Bilder;
  CSIDL_PROFILE = $0028; // %HomeDir%; (Verzeichnis für Benutzerprofil)
  CSIDL_SYSTEM = $0029; // %SysDir%; (siehe auch $0025, gleich; wird als sicherere Alternative zu GetSystemDirectory empfohlen)
// =
  CSIDL_PROGRAM_FILES_COMMON = $002B; // %ProgramFiles%\Common; (Verzeichnis für Gemeinsame Dateien)
  CSIDL_COMMON_TEMPLATES = $002D; // %AllUsers%\All Users\Templates; (Nur für WinNT)
  CSIDL_COMMON_DOCUMENTS = $002E; // %AllUsers%\All Users\Dokumente;
  CSIDL_COMMON_ADMINTOOLS = $002F; // %AllUsers%\Startmenü\Programme\Verwaltung;
  CSIDL_ADMINTOOLS = $0030; // %HomeDir%\Startmenü\Programme\Verwaltung;
  CSIDL_COMMON_MUSIC = $0035; // %AllUsers%\Dokumente\Eigene Musik;
  CSIDL_COMMON_PICTURES = $0036; // %AllUsers%\Dokumente\Eigene Bilder\;
  CSIDL_COMMON_VIDEOS = $0037; // %AllUsers%\Dokumente\Eigene Videos;
// =
  CSIDL_RESOURCES = $0038; // %WinDir%\Resources; (für Themes und andere Windows Ressourcen)
  CSIDL_RESOURCES_LOCALIZED = $0039; // %WinDir%\Resources\<LangID> ([Liefert leeren String] eigentlich wie oben, bzw.: für Themes und andere Windows-Spezifische Ressourcen)
  CSIDL_CDBURN_AREA = $003B; // %HomeDir%\Lokale Einstellungen\Anwendungsdaten\Microsoft\CD Burning
  Mit Zitat antworten Zitat
terence14
(Gast)

n/a Beiträge
 
#5

AW: Get Windows Special Folders

  Alt 14. Jan 2013, 11:41
@Popov

Danke für die Liste.

Ich habe z.B. das Problem,

daß a) CSIDL_FAVORITES
und b) CSIDL_COMMON_FAVORITES

beide den Pfad für a), also "c:\users\xyz\Favorites" zurückgeben,
anstatt daß b) den Pfad "c:\users\public\Favorites" liefert.

Ich verwende WinVista HomeEdition und Delphi2005.

Deshalb muß ich tricksen, um b) zu bekommen,
und setzte den Pfad aus Einzelteilen zusammen

MfG,
terence
  Mit Zitat antworten Zitat
hathor
(Gast)

n/a Beiträge
 
#6

AW: Get Windows Special Folders

  Alt 14. Jan 2013, 13:38
Das gab es HIER schon...
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#7

AW: Get Windows Special Folders

  Alt 14. Jan 2013, 13:40
Das sollte schon seine Richtigkeit haben. Allerdings hat MS seit Vista neue Methode der spez. Ordner Ermittlung eingeführt.
  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 16: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