var attr := TDirectory.GetAttributes('C:\Documents and Settings', false);
Da es sich wie schon erwähnt um einen Link und nicht um ein echtes Verzeichnis handelt, funktioniert
TDirectory.GetAttributes nur dann, wenn man den
FollowLink-Parameter auf True setzt.
Das ist leider nicht richtig - C:\Documents and Settings gibt es schon ab Windows Vista nicht mehr und es ist auch kein link.
Und bevor jetzt jemand sagt, jaaa, aber das was darunter liegt (also <username>/etc) liegt ja nun auf C:\Users\... - ja, das ist vielleicht der Default, aber man kann alle möglichen Folder (Documents, Downloads, Pictures, etc) an eine andere Stelle legen. Um diese herauszufinden gibt es SHGetFolderPath.
Wo die diversen virtuellen Verzeichnisse hinzeigen, kann man auch in der Registry sehen, unter
Code:
HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\User Shell Folders