![]() |
SHGetFileInfo Dateiattribute ermitteln funktioniert nicht
Hallo,
ich hole mir einige Daten zu Verzeichnissen und Dateien über die folgende Funktion:
Delphi-Quellcode:
Das Problem ist nun aber, dass isHidden und isSystem auch bei versteckten Dateien oder Systemdateien auf False bleibt. Dagegen funktioniert dieser Test bei Verzeichnissen einwandfrei.
if SHGetFileInfo(PChar(Path), 0, fileInfo, sizeof(FileInfo), SHGFI_ICON or SHGFI_SMALLICON or SHGFI_DISPLAYNAME or SHGFI_TYPENAME or SHGFI_ATTRIBUTES) <> 0 then begin
Description := FileInfo.szDisplayName; TypeName := fileInfo.szTypeName; isHidden := (fileInfo.dwAttributes and SFGAO_HIDDEN) = SFGAO_HIDDEN; isSystem := (fileInfo.dwAttributes and SFGAO_FILESYSANCESTOR) = SFGAO_FILESYSANCESTOR; end; Wieso ist das so? Viele Grüße |
Re: SHGetFileInfo Dateiattribute ermitteln funktioniert nich
Hallo Thomas,
die Abfrage von SFGAO_HIDDEN ist in Ordnung und funktioniert nachweislich auch. Wenn ich die mir vorliegende Dokumentation zu SFGAO_FILESYSANCESTOR richtig interpretiere, dann hat das nichts mit dem File Attribute "System" zu tun und bezieht sich auch nur auf Folder. Das Attribute SYSTEM kannst du dir mit GetFileAttributes() besorgen. Bei den Shell-Funktionen habe ich auf die Schnelle nichts vergleichbares gesehen. Grüße vom marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:57 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