Пример кода:
TCHAR szPath[MAX_PATH];
if (SUCCEEDED(SHGetFolderPath(NULL,
CSIDL_APPDATA | CSIDL_FLAG_CREATE,
NULL,
0,
szPath)))
{
PathAppend(szPath, TEXT("MySettings.xml"));
HANDLE hFile = CreateFile(szPath, ...);
}
CSIDL_APPDATA = имя пользователя \ Данные приложения. В окне 10 есть: имя пользователя \ AppData \ Roaming
CSIDL_FLAG_CREATE = в сочетании со значением CSIDL_ для принудительного создания папки в SHGetFolderPath ()
Вы также можете использовать:
CSIDL_LOCAL_APPDATA = имя пользователя \ Локальные настройки \ Данные приложения (без роуминга)