我似乎无法找到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
。
答案 0 :(得分:1)
请查看此参考:http://msdn.microsoft.com/en-us/library/windows/desktop/bb762494%28v=vs.85%29.aspx
您正在寻找的常数是CSIDL_PROFILE
。
答案 1 :(得分:0)
要获取位置的代码段:ConstantSpecialItems.cpp +二进制ConstantSpecialItems.exe,如果您想自己打印
示例位置:
你要求的那个:
Windows version 5.1, Build 2600
CSIDL paths:
[...]
CSIDL_PROFILE: C:\Documents and Settings\John Doe