Я пытаюсь использовать ShGetFolderPath , чтобы определить путь к папке с профилями пользователей. В документации говорится, что CSIDL_PROFILES определяет эту папку:
CSIDL_PROFILES (0x003e)
Версия 6.0. Каталог файловой системы, содержащий папки профиля пользователя. Типичный путь - C: \ Documents and Settings.
Я использую Visual Studio 2005 с пакетом обновления 1 (SP1) и не могу найти определение константы CSIDL_PROFILES
во включаемых файлах Platform SDK? Нужна ли мне новая версия Platform SDK?
Итак, я провел еще несколько экспериментов, используя идентификатор 0x3e вместо символа. Однако, похоже, что 0x3e не является допустимым аргументом для функций оболочки, которые принимают аргументы CSIDL_ * (возвращается недопустимая ошибка аргумента).
Так что я полагаю, что CSIDL_PROFILES не является допустимым аргументом, и по крайней мере некоторые страницы MSDN по этой теме неверны, когда упоминают этот символ. Я должен сказать, что за все годы работы с документацией Win32 / MSDN я не могу вспомнить подобную ситуацию.