fehlende Konstanten in der Unit SHLOBJ.PAS
Hallo,
im Folgenden einige Konstanten, die in der Unit ShlObj.pas nicht definiert sind :
Delphi-Quellcode:
implementation {$R *.dfm} uses ShlObj; Const CSIDL_CURR_MUSIK = $000D; // Dokumente und Einstellungen\[CurrentUser]\Eigene Dateien\Eigene Musik CSIDL_CURR_VIDEO = $000E; // Dokumente und Einstellungen\[CurrentUser]\Eigene Dateien\Eigene Videos CSIDL_LOCAL_APPDATA = $001C; // Dokumente und Einstellungen\[CurrentUser]\Anwendungsdaten CSIDL_COMMON_APPDATA = $0023; // Dokumente und Einstellungen\AllUsers\Anwendungsdaten CSIDL_WINDOWS = $0024; // Windows-Verzeichnis CSIDL_SYSTEM = $0025; // Windows\System32-Verzeichnis CSIDL_PROGRAMS_FIRST = $0026; // Programmverzeichnis der ersten(!!!) Windows-Partition, // muss nicht die aktuelle Partition sein CSIDL_CURR_PICTURES = $0027; // Dokumente und Einstellungen\[CurrentUser]\Eigene Dateien\Eigene Bilder CSIDL_CURRUSER = $0028; // Dokumente und Einstellungen\[CurrentUser] CSIDL_SYSTEM2 = $0029; // Windows\System32-Verzeichnis CSIDL_SHARED_FILES = $002B; // Programme\Gemeinsame Dateien CSIDL_COMMON_TEMPLATES = $002D; // Dokumente und Einstellungen\All Users\Vorlagen CSIDL_COMMON_DOKUMENTS = $002E; // Dokumente und Einstellungen\All Users\Dokumente CSIDL_COMMON_MANAGEMENT = $002F; // Dokumente und Einstellungen\All Users\Startmenü\Programme\Verwaltung CSIDL_CURR_MANAGEMENT = $0030; // Dokumente und Einstellungen\[CurrentUser]\Startmenü\Programme\Verwaltung CSIDL_COMMON_MUSIK = $0035; // Dokumente und Einstellungen\All Users\Eigene Dateien\Eigene Musik CSIDL_COMMON_PICTURES = $0036; // Dokumente und Einstellungen\All Users\Eigene Dateien\Eigene Bilder CSIDL_COMMON_VIDEO = $0037; // Dokumente und Einstellungen\All Users\Eigene Dateien\Eigene Videos CSIDL_RESOURCES = $0038; // Windows\Resources CSIDL_RESOURCES_C_SPEC = $0039; // Windows\Resources\0407 CSIDL_WINBURNING = $003B; // [microsoft brennerverzeichnis >cd burning<] function GetSpecialFolder (aFolder: Integer): String; var pIdL: PItemIDList; Path: Array [0..Max_Path] Of Char; Allocator: IMalloc; begin // ItemIdList für den Ordner holen SHGetSpecialFolderLocation (0, aFolder, pIdL); // ItemIdList in String umwandeln lassen SHGetPathFromIDList (pIDL, Path); // Speicher wieder freigeben if Succeeded (SHGetMalloc (Allocator)) then begin Allocator.Free (pIdL); {$IFDEF VER100} Allocator.Release; {$ENDIF} end; Result := Path; end; |
Re: fehlende Konstanten in der Unit SHLOBJ.PAS
Auch mal in die SHFolder.pas geschaut?
|
Re: fehlende Konstanten in der Unit SHLOBJ.PAS
.. jo
bei mir sind diese Konstanten nicht(!) definiert soll heißen: nicht alle |
Re: fehlende Konstanten in der Unit SHLOBJ.PAS
Hallo
Anstatt eigene Konstantennamen würde ich die in Shlobj.h deklarierten verwenden. (Siehe msdn). Siehe auch unit ShellFolder; @Muetze1: Bei älteren Delphi Versionen sind noch nicht alle Konstanten vorhanden. Bei D6, z.B. fehlt CSIDL_MYMUSIC etc. |
Re: fehlende Konstanten in der Unit SHLOBJ.PAS
Moin Zusammen,
Zitat:
|
Re: fehlende Konstanten in der Unit SHLOBJ.PAS
Zitat:
Eine Typelibrary kann ja unter anderem Konstanten, Enums, Records, Unions und Funktionsaufrufe für DLLs deklarieren. Man könnte also die ganze Windows API in einer (oder mehreren) Typelibrary ablegen. Keine Programmiersprache müsste sich mit den Headerfiles des PSDK auseinandersetzen, sondern nur die aktuellste TLB der Windows API importieren. Selbst Kommentare und kontextsensitive zu jeder Funktion, Konstante,... wäre mit der TLB möglich. Auch ältere Versionen wie D5, D6, D7 kämen so in der Genuss, auf wirklich alle Funktionen der Windows API zugreifen zu können. Aber das wird wohl nur ein Wunschtraum bleiben... :( |
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:41 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