c++获取常用系统文件夹-桌面-程序安装目录-默认数据-我的文档路径-临时文件夹

发布于:2022-12-17 ⋅ 阅读:(221) ⋅ 点赞:(0)

1.常用宏介绍

介绍
CSIDL_ADMINTOOLS、CSIDL_COMMON_ADMINTOOLS 管理工具
CSIDL_ALTSTARTUP、 CSIDL_COMMON_STARTUP、CSIDL_STARTUP 程序 - 启动
CSIDL_APPDATA AppData
CSIDL_CDBURN_AREA 临时刻录文件夹
CSIDL_COMMON_TEMPLATES、CSIDL_TEMPLATES Templates
CSIDL_COMMON_APPDATA ProgramData
CSIDL_COMMON_DESKTOPDIRECTORY、CSIDL_DESKTOP、CSIDL_DESKTOPDIRECTORY 桌面
CSIDL_COMMON_DOCUMENTS、CSIDL_MYDOCUMENTS、CSIDL_PERSONAL 文档
CSIDL_COMMON_FAVORITES、CSIDL_FAVORITES 收藏夹
CSIDL_COMMON_MUSIC、CSIDL_MYMUSIC 音乐
CSIDL_COMMON_PICTURES、CSIDL_MYPICTURES 图片
CSIDL_COMMON_PROGRAMS、CSIDL_PROGRAMS 开始菜单 - 程序
CSIDL_COMMON_STARTMENU、CSIDL_STARTMENU 开始菜单
CSIDL_COMMON_VIDEO 、CSIDL_MYVIDEO 视频
CSIDL_COOKIES INetCookies
CSIDL_FONTS 字体
CSIDL_HISTORY 历史
CSIDL_INTERNET_CACHE INetCache
CSIDL_LOCAL_APPDATA AppData/Local
CSIDL_NETHOOD Network Shortcuts
CSIDL_PRINTHOOD Printer Shortcuts
CSIDL_PROFILE 当前用户(Administrator)
CSIDL_PROGRAM_FILES 、CSIDL_PROGRAM_FILESX86 Program Files
CSIDL_PROGRAM_FILES_COMMON、CSIDL_PROGRAM_FILES_COMMONX86 Common Files
CSIDL_RECENT 最近使用的项目
CSIDL_RESOURCES Resources
CSIDL_SENDTO 发送到
CSIDL_SYSTEM System32
CSIDL_SYSTEMX86 SysWOW64
CSIDL_WINDOWS Windows

2.将宏转为文件夹

可以将下面CSIDL 宏换成其它宏,用于获取其它宏参数。

#include <Shlobj.h>
#include <string>
#pragma comment(lib, "shell32.lib")
std::string GetDesktopFolder()
{
    char path[255] = {0};
    SHGetSpecialFolderPath(
        NULL,							// 保留
        path,							// 接受文件路径的字符串指针
        CSIDL_DESKTOPDIRECTORY,			// CSIDL 宏
        FALSE							// 如果文件夹不存在,则不创建文件夹
    );
    std::string rlt = path;
    return rlt;
}

3.获取临时文件夹

临时文件夹内存放系统和应用程序临时使用的文件数据。

#include <windows.h>
std::string GetDesktopFolder()
{

    char strTmpDir[MAX_PATH] = { 0 };
    GetTempPathA(MAX_PATH, strTmpDir);
    std::string rlt = strTmpDir;
    return rlt;
}

4.作者答疑

如有疑问,敬请留言。

本文含有隐藏内容,请 开通VIP 后查看

网站公告

今日签到

点亮在社区的每一天
去签到