Функция Win32 для получения пути к C:\ProgramData
Моему приложению необходимо установить некоторые файлы, которые можно редактировать приложением во время выполнения. Экран установки обеспечивает псевдоним [CommonAppDataFolder], который разрешит c:\programData в Vista и Windows 7, а также будет работать в Windows XP. Есть ли функция win32, которая вернет аналогичный путь?
Возможно, мне нужно вызвать разные функции в зависимости от операционной системы?
Ответы
Ответ 1
SHGetFolderPath
/SHGetSpecialFolderPath
получите это, с аргументом CSIDL_COMMON_APPDATA
.
См. фрагмент кода здесь (внизу): Как написать приложение Windows XP, которое хранит данные пользователя и приложения в правильном месте с помощью Visual С++.
- Windows XP: C:\Documents and Settings\All Users\Application Datali >
- Windows Vista: C:\ProgramDatali >
- Windows 7: C:\ProgramDatali >
Смотрите также: CSIDL.
Ответ 2
Начиная с Delphi XE5, эта функциональность является частью инфраструктуры.
- Модуль:
System.IOUtils
- Класс:
TPath
- Функция:
GetPublicPath
См. Embarcadero docwiki для получения дополнительной информации.