[MFC]获取一些用户文件夹

(Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu 转载请注明出处)

window7中。进入命令行cmd模式,输入set到多个系统文件夹定义:

比如:

Win7:

APPDATA=c:usersxxxAppDataRoaming

LOCALAPPDATA=c:usersxxxAppDataLocal

USERPROFILE=c:usersxxx

ALLUSERPROFILE=c:ProgramData

HOMEPATH=c:usersxxx

TEMP= c:usersxxxAppDataLocal Temp

TMP= c:usersxxxAppDataLocal Temp

 

Xp:

APPDATA=c: Documents and SettingxxxApplication Data

LOCALAPPDATA

USERPROFILE= c: Documents and Setting xxx

ALLUSERPROFILE=c:Documents and SettingAllusers

HOMEPATH=c: Documents and Settingxxx

TEMP=c:DOCUME~1xxxLOCALS~1Temp

TMP= c:DOCUME~1xxxLOCALS~1Temp

 

说明:

APPDATA-软件使用时用户的配置信息通常写到此

LOCALAPPDATA-暂时文件夹通常创建到这里

ALLUSERPROFILE-通常软件的鉴权信息写入到

HOMEPATH-用户文件夹

TEMP/TMP- 暂时目录,能够随时被清理

 

获取LOCALAPPDATA/ APPDATA/USERPROFILE /ALLUSERPROFILE:

CString sPath;

SHGetFolderPath( NULL, CSIDL_ LOCALAPPDATA/, NULL, 0, sPath.GetBuffer(MAX_PATH) );

sPath.ReleaseBuffer();

 

类似还支持: CSIDL_LOCALAPPDATA /CSIDL_APPDATA/CSIDL_PROFILE(參考shlobj.h)

 

获取暂时文件夹TEMP/TMP:

// 获取暂时目录

CString sTempPath;

::GetTempPath(MAX_PATH, sTempPath.GetBuffer(MAX_PATH));

sTempPath.ReleaseBuffer();

 

CString sTempFile;

// 获取暂时文件: 输入文件名称前缀。自己主动获得一个不反复的文件名称

::GetTempFileName(sTempPath, _T(MyPre_), 0, sTempFile.GetBuffer(MAX_PATH));

sTempFile.ReleaseBuffer();

(Owed by: 春夜喜雨 http://blog.csdn.net/chunyexiyu 转载请注明出处)

版权声明:本文博主原创文章,博客,未经同意不得转载。

原文地址:https://www.cnblogs.com/zfyouxi/p/4804988.html