Функция 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 для получения дополнительной информации.

Другие вопросы по тегам