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