当前位置: 首页 > news >正文

Win32 / C++ Windows文件夹路径获取

CFolderUtils.h

#pragma once

#include <string>

#ifdef _UNICODE
typedef std::wstring _tstring;
#else
typedef std::string _tstring;
#endif

//已知文件夹
namespace CFolderUtils
{
    _tstring GetNetworkFolder();
    _tstring GetComputerFolder();
    _tstring GetInternetFolder();
    _tstring GetControlPanelFolder();
    _tstring GetPrintersFolder();
    _tstring GetSyncManagerFolder();
    _tstring GetSyncSetupFolder();
    _tstring GetConflictFolder();
    _tstring GetSyncResultsFolder();
    _tstring GetRecycleBinFolder();
    _tstring GetConnectionsFolder();
    _tstring GetFonts();
    _tstring GetDesktop();
    _tstring GetStartup();
    _tstring GetPrograms();
    _tstring GetStartMenu();
    _tstring GetRecent();
    _tstring GetSendTo();
    _tstring GetDocuments();
    _tstring GetFavorites();
    _tstring GetNetHood();
    _tstring GetPrintHood();
    _tstring GetTemplates();
    _tstring GetCommonStartup();
    _tstring GetCommonPrograms();
    _tstring GetCommonStartMenu();
    _tstring GetPublicDesktop();
    _tstring GetProgramData();
    _tstring GetCommonTemplates();
    _tstring GetPublicDocuments();
    _tstring GetRoamingAppData();
    _tstring GetLocalAppData();
    _tstring GetLocalAppDataLow();
    _tstring GetInternetCache();
    _tstring GetCookies();
    _tstring GetHistory();
    _tstring GetSystem();
    _tstring GetSystemX86();
    _tstring GetWindows();
    _tstring GetProfile();
    _tstring GetPictures();
    _tstring GetProgramFilesX86();
    _tstring GetProgramFilesCommonX86();
    _tstring GetProgramFilesX64();
    _tstring GetProgramFilesCommonX64();
    _tstring GetProgramFiles();
    _tstring GetProgramFilesCommon();
    _tstring GetUserProgramFiles();
    _tstring GetUserProgramFilesCommon();
    _tstring GetAdminTools();
    _tstring GetCommonAdminTools();
    _tstring GetMusic();
    _tstring GetVideos();
    _tstring GetRingtones();
    _tstring GetPublicPictures();
    _tstring GetPublicMusic();
    _tstring GetPublicVideos();
    _tstring GetPublicRingtones();
    _tstring GetResourceDir();
    _tstring GetLocalizedResourcesDir();
    _tstring GetCommonOEMLinks();
    _tstring GetCDBurning();
    _tstring GetUserProfiles();
    _tstring GetPlaylists();
    _tstring GetSamplePlaylists();
    _tstring GetSampleMusic();
    _tstring GetSamplePictures();
    _tstring GetSampleVideos();
    _tstring GetPhotoAlbums();
    _tstring GetPublic();
    _tstring GetChangeRemovePrograms();
    _tstring GetAppUpdates();
    _tstring GetAddNewPrograms();
    _tstring GetDownloads();
    _tstring GetPublicDownloads();
    _tstring GetSavedSearches();
    _tstring GetQuickLaunch();
    _tstring GetContacts();
    _tstring GetSidebarParts();
    _tstring GetSidebarDefaultParts();
    _tstring GetPublicGameTasks();
    _tstring GetGameTasks();
    _tstring GetSavedGames();
    _tstring GetGames();
    _tstring GetSEARCH_MAPI();
    _tstring GetSEARCH_CSC();
    _tstring GetLinks();
    _tstring GetUsersFiles();
    _tstring GetUsersLibraries();
    _tstring GetSearchHome();
    _tstring GetOriginalImages();
    _tstring GetDocumentsLibrary();
    _tstring GetMusicLibrary();
    _tstring GetPicturesLibrary();
    _tstring GetVideosLibrary();
    _tstring GetRecordedTVLibrary();
    _tstring GetHomeGroup();
    _tstring GetHomeGroupCurrentUser();
    _tstring GetDeviceMetadataStore();
    _tstring GetLibraries();
    _tstring GetPublicLibraries();
    _tstring GetUserPinned();
    _tstring GetImplicitAppShortcuts();
    _tstring GetAccountPictures();
    _tstring GetPublicUserTiles();
    _tstring GetAppsFolder();
    _tstring GetStartMenuAllPrograms();
    _tstring GetCommonStartMenuPlaces();
    _tstring GetApplicationShortcuts();
    _tstring GetRoamingTiles();
    _tstring GetRoamedTileImages();
    _tstring GetScreenshots();
    _tstring GetCameraRoll();
    _tstring GetSkyDrive();
    _tstring GetOneDrive();
    _tstring GetSkyDriveDocuments();
    _tstring GetSkyDrivePictures();
    _tstring GetSkyDriveMusic();
    _tstring GetSkyDriveCameraRoll();
    _tstring GetSearchHistory();
    _tstring GetSearchTemplates();
    _tstring GetCameraRollLibrary();
    _tstring GetSavedPictures();
    _tstring GetSavedPicturesLibrary();
    _tstring GetRetailDemo();
    _tstring GetDevice();
    _tstring GetDevelopmentFiles();
    _tstring GetObjects3D();
    _tstring GetAppCaptures();
    _tstring GetLocalDocuments();
    _tstring GetLocalPictures();
    _tstring GetLocalVideos();
    _tstring GetLocalMusic();
    _tstring GetLocalDownloads();
    _tstring GetRecordedCalls();
    _tstring GetAllAppMods();
    _tstring GetCurrentAppMods();
    _tstring GetAppDataDesktop();
    _tstring GetAppDataDocuments();
    _tstring GetAppDataFavorites();
    _tstring GetAppDataProgramData();
};

CFolderUtils.cpp

#include "CFolderUtils.h"
#include <shlobj_core.h>

#pragma comment(lib, "Ole32.lib")
#pragma comment(lib, "Shell32.lib")

namespace CFolderUtils
{
    _tstring GetKnownFolder(_In_ REFKNOWNFOLDERID rfid)
    {
        _tstring strFolder;
        LPWSTR pstr = NULL;
        HRESULT hr = S_OK;
        hr = SHGetKnownFolderPath(rfid, KF_FLAG_DEFAULT, NULL, &pstr);
        if (NULL != pstr)
        {
#ifdef _UNICODE
            strFolder = pstr;
#else
            CHAR szBuf[MAX_PATH] = { 0 };
            int nConverted = ::WideCharToMultiByte(CP_ACP, 0, pstr, -1, szBuf, _countof(szBuf), NULL, NULL);
            if (0 != nConverted)
            {
                strFolder = szBuf;
            }
#endif

            CoTaskMemFree(pstr);
        }

        return strFolder;
    }

    _tstring GetNetworkFolder() { return  GetKnownFolder(FOLDERID_NetworkFolder); }
    _tstring GetComputerFolder() { return  GetKnownFolder(FOLDERID_ComputerFolder); }
    _tstring GetInternetFolder() { return  GetKnownFolder(FOLDERID_InternetFolder); }
    _tstring GetControlPanelFolder() { return  GetKnownFolder(FOLDERID_ControlPanelFolder); }
    _tstring GetPrintersFolder() { return  GetKnownFolder(FOLDERID_PrintersFolder); }
    _tstring GetSyncManagerFolder() { return  GetKnownFolder(FOLDERID_SyncManagerFolder); }
    _tstring GetSyncSetupFolder() { return  GetKnownFolder(FOLDERID_SyncSetupFolder); }
    _tstring GetConflictFolder() { return  GetKnownFolder(FOLDERID_ConflictFolder); }
    _tstring GetSyncResultsFolder() { return  GetKnownFolder(FOLDERID_SyncResultsFolder); }
    _tstring GetRecycleBinFolder() { return  GetKnownFolder(FOLDERID_RecycleBinFolder); }
    _tstring GetConnectionsFolder() { return  GetKnownFolder(FOLDERID_ConnectionsFolder); }
    _tstring GetFonts() { return  GetKnownFolder(FOLDERID_Fonts); }
    _tstring GetDesktop() { return  GetKnownFolder(FOLDERID_Desktop); }
    _tstring GetStartup() { return  GetKnownFolder(FOLDERID_Startup); }
    _tstring GetPrograms() { return  GetKnownFolder(FOLDERID_Programs); }
    _tstring GetStartMenu() { return  GetKnownFolder(FOLDERID_StartMenu); }
    _tstring GetRecent() { return  GetKnownFolder(FOLDERID_Recent); }
    _tstring GetSendTo() { return  GetKnownFolder(FOLDERID_SendTo); }
    _tstring GetDocuments() { return  GetKnownFolder(FOLDERID_Documents); }
    _tstring GetFavorites() { return  GetKnownFolder(FOLDERID_Favorites); }
    _tstring GetNetHood() { return  GetKnownFolder(FOLDERID_NetHood); }
    _tstring GetPrintHood() { return  GetKnownFolder(FOLDERID_PrintHood); }
    _tstring GetTemplates() { return  GetKnownFolder(FOLDERID_Templates); }
    _tstring GetCommonStartup() { return  GetKnownFolder(FOLDERID_CommonStartup); }
    _tstring GetCommonPrograms() { return  GetKnownFolder(FOLDERID_CommonPrograms); }
    _tstring GetCommonStartMenu() { return  GetKnownFolder(FOLDERID_CommonStartMenu); }
    _tstring GetPublicDesktop() { return  GetKnownFolder(FOLDERID_PublicDesktop); }
    _tstring GetProgramData() { return  GetKnownFolder(FOLDERID_ProgramData); }
    _tstring GetCommonTemplates() { return  GetKnownFolder(FOLDERID_CommonTemplates); }
    _tstring GetPublicDocuments() { return  GetKnownFolder(FOLDERID_PublicDocuments); }
    _tstring GetRoamingAppData() { return  GetKnownFolder(FOLDERID_RoamingAppData); }
    _tstring GetLocalAppData() { return  GetKnownFolder(FOLDERID_LocalAppData); }
    _tstring GetLocalAppDataLow() { return  GetKnownFolder(FOLDERID_LocalAppDataLow); }
    _tstring GetInternetCache() { return  GetKnownFolder(FOLDERID_InternetCache); }
    _tstring GetCookies() { return  GetKnownFolder(FOLDERID_Cookies); }
    _tstring GetHistory() { return  GetKnownFolder(FOLDERID_History); }
    _tstring GetSystem() { return  GetKnownFolder(FOLDERID_System); }
    _tstring GetSystemX86() { return  GetKnownFolder(FOLDERID_SystemX86); }
    _tstring GetWindows() { return  GetKnownFolder(FOLDERID_Windows); }
    _tstring GetProfile() { return  GetKnownFolder(FOLDERID_Profile); }
    _tstring GetPictures() { return  GetKnownFolder(FOLDERID_Pictures); }
    _tstring GetProgramFilesX86() { return  GetKnownFolder(FOLDERID_ProgramFilesX86); }
    _tstring GetProgramFilesCommonX86() { return  GetKnownFolder(FOLDERID_ProgramFilesCommonX86); }
    _tstring GetProgramFilesX64() { return  GetKnownFolder(FOLDERID_ProgramFilesX64); }
    _tstring GetProgramFilesCommonX64() { return  GetKnownFolder(FOLDERID_ProgramFilesCommonX64); }
    _tstring GetProgramFiles() { return  GetKnownFolder(FOLDERID_ProgramFiles); }
    _tstring GetProgramFilesCommon() { return  GetKnownFolder(FOLDERID_ProgramFilesCommon); }
    _tstring GetUserProgramFiles() { return  GetKnownFolder(FOLDERID_UserProgramFiles); }
    _tstring GetUserProgramFilesCommon() { return  GetKnownFolder(FOLDERID_UserProgramFilesCommon); }
    _tstring GetAdminTools() { return  GetKnownFolder(FOLDERID_AdminTools); }
    _tstring GetCommonAdminTools() { return  GetKnownFolder(FOLDERID_CommonAdminTools); }
    _tstring GetMusic() { return  GetKnownFolder(FOLDERID_Music); }
    _tstring GetVideos() { return  GetKnownFolder(FOLDERID_Videos); }
    _tstring GetRingtones() { return  GetKnownFolder(FOLDERID_Ringtones); }
    _tstring GetPublicPictures() { return  GetKnownFolder(FOLDERID_PublicPictures); }
    _tstring GetPublicMusic() { return  GetKnownFolder(FOLDERID_PublicMusic); }
    _tstring GetPublicVideos() { return  GetKnownFolder(FOLDERID_PublicVideos); }
    _tstring GetPublicRingtones() { return  GetKnownFolder(FOLDERID_PublicRingtones); }
    _tstring GetResourceDir() { return  GetKnownFolder(FOLDERID_ResourceDir); }
    _tstring GetLocalizedResourcesDir() { return  GetKnownFolder(FOLDERID_LocalizedResourcesDir); }
    _tstring GetCommonOEMLinks() { return  GetKnownFolder(FOLDERID_CommonOEMLinks); }
    _tstring GetCDBurning() { return  GetKnownFolder(FOLDERID_CDBurning); }
    _tstring GetUserProfiles() { return  GetKnownFolder(FOLDERID_UserProfiles); }
    _tstring GetPlaylists() { return  GetKnownFolder(FOLDERID_Playlists); }
    _tstring GetSamplePlaylists() { return  GetKnownFolder(FOLDERID_SamplePlaylists); }
    _tstring GetSampleMusic() { return  GetKnownFolder(FOLDERID_SampleMusic); }
    _tstring GetSamplePictures() { return  GetKnownFolder(FOLDERID_SamplePictures); }
    _tstring GetSampleVideos() { return  GetKnownFolder(FOLDERID_SampleVideos); }
    _tstring GetPhotoAlbums() { return  GetKnownFolder(FOLDERID_PhotoAlbums); }
    _tstring GetPublic() { return  GetKnownFolder(FOLDERID_Public); }
    _tstring GetChangeRemovePrograms() { return  GetKnownFolder(FOLDERID_ChangeRemovePrograms); }
    _tstring GetAppUpdates() { return  GetKnownFolder(FOLDERID_AppUpdates); }
    _tstring GetAddNewPrograms() { return  GetKnownFolder(FOLDERID_AddNewPrograms); }
    _tstring GetDownloads() { return  GetKnownFolder(FOLDERID_Downloads); }
    _tstring GetPublicDownloads() { return  GetKnownFolder(FOLDERID_PublicDownloads); }
    _tstring GetSavedSearches() { return  GetKnownFolder(FOLDERID_SavedSearches); }
    _tstring GetQuickLaunch() { return  GetKnownFolder(FOLDERID_QuickLaunch); }
    _tstring GetContacts() { return  GetKnownFolder(FOLDERID_Contacts); }
    _tstring GetSidebarParts() { return  GetKnownFolder(FOLDERID_SidebarParts); }
    _tstring GetSidebarDefaultParts() { return  GetKnownFolder(FOLDERID_SidebarDefaultParts); }
    _tstring GetPublicGameTasks() { return  GetKnownFolder(FOLDERID_PublicGameTasks); }
    _tstring GetGameTasks() { return  GetKnownFolder(FOLDERID_GameTasks); }
    _tstring GetSavedGames() { return  GetKnownFolder(FOLDERID_SavedGames); }
    _tstring GetGames() { return  GetKnownFolder(FOLDERID_Games); }
    _tstring GetSEARCH_MAPI() { return  GetKnownFolder(FOLDERID_SEARCH_MAPI); }
    _tstring GetSEARCH_CSC() { return  GetKnownFolder(FOLDERID_SEARCH_CSC); }
    _tstring GetLinks() { return  GetKnownFolder(FOLDERID_Links); }
    _tstring GetUsersFiles() { return  GetKnownFolder(FOLDERID_UsersFiles); }
    _tstring GetUsersLibraries() { return  GetKnownFolder(FOLDERID_UsersLibraries); }
    _tstring GetSearchHome() { return  GetKnownFolder(FOLDERID_SearchHome); }
    _tstring GetOriginalImages() { return  GetKnownFolder(FOLDERID_OriginalImages); }
    _tstring GetDocumentsLibrary() { return  GetKnownFolder(FOLDERID_DocumentsLibrary); }
    _tstring GetMusicLibrary() { return  GetKnownFolder(FOLDERID_MusicLibrary); }
    _tstring GetPicturesLibrary() { return  GetKnownFolder(FOLDERID_PicturesLibrary); }
    _tstring GetVideosLibrary() { return  GetKnownFolder(FOLDERID_VideosLibrary); }
    _tstring GetRecordedTVLibrary() { return  GetKnownFolder(FOLDERID_RecordedTVLibrary); }
    _tstring GetHomeGroup() { return  GetKnownFolder(FOLDERID_HomeGroup); }
    _tstring GetHomeGroupCurrentUser() { return  GetKnownFolder(FOLDERID_HomeGroupCurrentUser); }
    _tstring GetDeviceMetadataStore() { return  GetKnownFolder(FOLDERID_DeviceMetadataStore); }
    _tstring GetLibraries() { return  GetKnownFolder(FOLDERID_Libraries); }
    _tstring GetPublicLibraries() { return  GetKnownFolder(FOLDERID_PublicLibraries); }
    _tstring GetUserPinned() { return  GetKnownFolder(FOLDERID_UserPinned); }
    _tstring GetImplicitAppShortcuts() { return  GetKnownFolder(FOLDERID_ImplicitAppShortcuts); }
    _tstring GetAccountPictures() { return  GetKnownFolder(FOLDERID_AccountPictures); }
    _tstring GetPublicUserTiles() { return  GetKnownFolder(FOLDERID_PublicUserTiles); }
    _tstring GetAppsFolder() { return  GetKnownFolder(FOLDERID_AppsFolder); }
    _tstring GetStartMenuAllPrograms() { return  GetKnownFolder(FOLDERID_StartMenuAllPrograms); }
    _tstring GetCommonStartMenuPlaces() { return  GetKnownFolder(FOLDERID_CommonStartMenuPlaces); }
    _tstring GetApplicationShortcuts() { return  GetKnownFolder(FOLDERID_ApplicationShortcuts); }
    _tstring GetRoamingTiles() { return  GetKnownFolder(FOLDERID_RoamingTiles); }
    _tstring GetRoamedTileImages() { return  GetKnownFolder(FOLDERID_RoamedTileImages); }
    _tstring GetScreenshots() { return  GetKnownFolder(FOLDERID_Screenshots); }
    _tstring GetCameraRoll() { return  GetKnownFolder(FOLDERID_CameraRoll); }
    _tstring GetSkyDrive() { return  GetKnownFolder(FOLDERID_SkyDrive); }
    _tstring GetOneDrive() { return  GetKnownFolder(FOLDERID_OneDrive); }
    _tstring GetSkyDriveDocuments() { return  GetKnownFolder(FOLDERID_SkyDriveDocuments); }
    _tstring GetSkyDrivePictures() { return  GetKnownFolder(FOLDERID_SkyDrivePictures); }
    _tstring GetSkyDriveMusic() { return  GetKnownFolder(FOLDERID_SkyDriveMusic); }
    _tstring GetSkyDriveCameraRoll() { return  GetKnownFolder(FOLDERID_SkyDriveCameraRoll); }
    _tstring GetSearchHistory() { return  GetKnownFolder(FOLDERID_SearchHistory); }
    _tstring GetSearchTemplates() { return  GetKnownFolder(FOLDERID_SearchTemplates); }
    _tstring GetCameraRollLibrary() { return  GetKnownFolder(FOLDERID_CameraRollLibrary); }
    _tstring GetSavedPictures() { return  GetKnownFolder(FOLDERID_SavedPictures); }
    _tstring GetSavedPicturesLibrary() { return  GetKnownFolder(FOLDERID_SavedPicturesLibrary); }
    _tstring GetRetailDemo() { return  GetKnownFolder(FOLDERID_RetailDemo); }
    _tstring GetDevice() { return  GetKnownFolder(FOLDERID_Device); }
    _tstring GetDevelopmentFiles() { return  GetKnownFolder(FOLDERID_DevelopmentFiles); }
    _tstring GetObjects3D() { return  GetKnownFolder(FOLDERID_Objects3D); }
    _tstring GetAppCaptures() { return  GetKnownFolder(FOLDERID_AppCaptures); }
    _tstring GetLocalDocuments() { return  GetKnownFolder(FOLDERID_LocalDocuments); }
    _tstring GetLocalPictures() { return  GetKnownFolder(FOLDERID_LocalPictures); }
    _tstring GetLocalVideos() { return  GetKnownFolder(FOLDERID_LocalVideos); }
    _tstring GetLocalMusic() { return  GetKnownFolder(FOLDERID_LocalMusic); }
    _tstring GetLocalDownloads() { return  GetKnownFolder(FOLDERID_LocalDownloads); }
    _tstring GetRecordedCalls() { return  GetKnownFolder(FOLDERID_RecordedCalls); }
    _tstring GetAllAppMods() { return  GetKnownFolder(FOLDERID_AllAppMods); }
    _tstring GetCurrentAppMods() { return  GetKnownFolder(FOLDERID_CurrentAppMods); }
    _tstring GetAppDataDesktop() { return  GetKnownFolder(FOLDERID_AppDataDesktop); }
    _tstring GetAppDataDocuments() { return  GetKnownFolder(FOLDERID_AppDataDocuments); }
    _tstring GetAppDataFavorites() { return  GetKnownFolder(FOLDERID_AppDataFavorites); }
    _tstring GetAppDataProgramData() { return  GetKnownFolder(FOLDERID_AppDataProgramData); }
}

相关文章:

  • mysql 入门
  • 多层感知机从0开始实现
  • Java设计模式之解释器模式
  • ofd转pdf报错:org.ofdrw.reader.ZipUtil.unZipFileByApacheCommonCompress【已解决】
  • web爬虫笔记:js逆向案例十一 某数cookie(补环境流程)
  • C#委托介绍
  • 算法数论.3(拓展欧几里得,中国剩余定理)
  • 搭建第一个Spring项目
  • 题解:AT_abc170_f [ABC170F] Pond Skater
  • Linux中执行 ifconfig 命令时提示 “未找到命令”
  • 无人设备遥控器之调度自动化技术篇
  • MCP(大模型上下文协议)
  • C++ 的基本内置类型(十二)
  • springboot body 转对象强验证属性多余属性抛错误
  • [NO-WX179]基于springboot+微信小程序的在线选课系统
  • msvcp140.dll是什么文件?修复丢失msvcp140.dll的方法指南
  • Python FastAPI 面试题及参考答案
  • [CLS] Token 在 ViT(Vision Transformer)中的作用与实现
  • 模拟算法专题
  • 机器学习实战,涉及数据预处理、监督算法、无监督算法、模型评估与改进-思维导图
  • 西安集中整治监督教育领域不正之风和腐败问题,举报方式公布
  • 新四军老战士、苏州市文联原副主席张景坤逝世
  • 住建部:目前已累计建设改造各类市政管网50万公里
  • 招商基金总经理徐勇因任期届满离任,“老将”钟文岳回归接棒
  • 专访|金七猫奖得主:以非遗为舟,在现实题材中疗愈与成长
  • 王毅同丹麦外交大臣拉斯穆森会谈