用于Windows XP的用户文件夹的CSIDL常量

时间:2012-12-29 23:41:16

标签: c++ winapi windows-xp windows-shell

我似乎无法找到Windows XP的“C:\ Documents and Settings \ username”文件夹的CSIDL常量是什么?

编辑:我正在使用以下代码检索此路径:

HANDLE hUserToken = NULL;
if(WTSQueryUserToken(dwUserSessionID, &hUserToken))
{
    PIDLIST_ABSOLUTE pIdl = NULL;
    if(SHGetFolderLocation(NULL, nCSIDL, hUserToken, NULL, &pIdl) == S_OK)
    {
        SHGetPathFromIDList(pIdl, path_buf);

        ILFree(pIdl);
    }

    CloseHandle(hUserToken);
}

当我期待C:\WINDOWS\system32\config\systemprofile时,问题就变成了管理帐户的代码返回C:\Documents and Settings\Administrator

2 个答案:

答案 0 :(得分:1)

请查看此参考:http://msdn.microsoft.com/en-us/library/windows/desktop/bb762494%28v=vs.85%29.aspx

您正在寻找的常数是CSIDL_PROFILE

答案 1 :(得分:0)

你要求的那个:

Windows version 5.1, Build 2600

CSIDL paths: 
[...] 
CSIDL_PROFILE: C:\Documents and Settings\John Doe