Windows Shell - CSIDL (cała lista)
C++
TCHAR path[MAX_PATH];
SHGetFolderPath(NULL, CSIDL_APPDATA, NULL, 0, path);
PathAppend(path, (app_name + "\\").c_str());
DOS
%appdata%
C:\Users\nazwa_profilu\AppData\Roaming
*nazwa_profilu - użytkownika
C++ (Cpp) SHGetFolderPath Examples
TCHAR szPath[MAX_PATH];
if(SUCCEEDED(SHGetFolderPath(NULL,
CSIDL_PERSONAL|CSIDL_FLAG_CREATE,
NULL,
0,
szPath)))
{
PathAppend(szPath, TEXT("New Doc.txt"));
HANDLE hFile = CreateFile(szPath, ...);
}
[ SHGetFolderPathA function ] [ SHGetSpecialFolderPathA function ]
GetEnvironmentVariable function
TCHAR szBuf[MAX_PATH] = {0};
::GetEnvironmentVariable(_T( "USERPROFILE" ), szBuf, MAX_PATH);
typedef enum {
KF_FLAG_DEFAULT,
KF_FLAG_FORCE_APP_DATA_REDIRECTION,
KF_FLAG_RETURN_FILTER_REDIRECTION_TARGET,
KF_FLAG_FORCE_PACKAGE_REDIRECTION,
KF_FLAG_NO_PACKAGE_REDIRECTION,
KF_FLAG_FORCE_APPCONTAINER_REDIRECTION,
KF_FLAG_NO_APPCONTAINER_REDIRECTION,
KF_FLAG_CREATE,
KF_FLAG_DONT_VERIFY,
KF_FLAG_DONT_UNEXPAND,
KF_FLAG_NO_ALIAS,
KF_FLAG_INIT,
KF_FLAG_DEFAULT_PATH,
KF_FLAG_NOT_PARENT_RELATIVE,
KF_FLAG_SIMPLE_IDLIST,
KF_FLAG_ALIAS_ONLY
} KNOWN_FOLDER_FLAG;
[ KNOWN_FOLDER_FLAG enumeration ]