function GetShellFolderByCSIDL(const Folder: Integer; const Create: Boolean): String;
Возвращает абсолютный путь к указанной папке оболочки. Папку параметра Folder определяет глобально уникальный идентификатор CSIDL (полный список идентификаторов может быть найден в файле ShlObj.h). Если параметру Create задано значение True и папка не существует, то она будет создана. В случае ошибки функция вернёт пустую строку.
Рекомендуется всегда указывать значение True в параметре Create. Иначе, если значение CSIDL действительно, но папка в текущий момент ещё не существует, работа функции может завершиться исключением (это известная проблема Windows).
const CSIDL_MYPICTURES = $0027; ... var Path: String; begin Path := GetShellFolderByCSIDL(CSIDL_MYPICTURES, True); if Path <> '' then begin MsgBox('Путь к папке "Изображения" = ' + Path, mbInformation, MB_OK); end else begin // обработка не удалась end; end;