- Timestamp:
- Sep 2, 2015, 12:33:58 PM (9 years ago)
- Location:
- trunk/Utilities/Miscellaneous/ConstantSpecialItems
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Utilities/Miscellaneous/ConstantSpecialItems
- Property svn:ignore
-
old new 1 1 *.suo 2 2 *.user 3 _Bin
-
- Property svn:ignore
-
trunk/Utilities/Miscellaneous/ConstantSpecialItems/ConstantSpecialItems.cpp
r158 r502 1 1 //////////////////////////////////////////////////////////// 2 // Copyright (C) Roman Ryltsov, 2008-20 092 // Copyright (C) Roman Ryltsov, 2008-2015 3 3 // Created by Roman Ryltsov roman@alax.info 4 //5 // $Id: ConstantSpecialItems.cpp 144 2009-06-21 10:58:12Z alax $6 4 7 5 #include "stdafx.h" … … 15 13 _tprintf(_T("Windows version %d.%d, Build %d\n"), VersionInformation.dwMajorVersion, VersionInformation.dwMinorVersion, VersionInformation.dwBuildNumber); 16 14 _tprintf(_T("\n")); 17 static const struct15 #pragma region CSIDL_xxx 18 16 { 19 INT nIdentifier; 20 LPCTSTR pszName; 21 } g_pMap[] = 17 static const struct 18 { 19 INT nIdentifier; 20 LPCSTR pszName; 21 } g_pMap[] = 22 { 23 #define A(x) { x, #x }, 24 A(CSIDL_DESKTOP) 25 A(CSIDL_INTERNET) 26 A(CSIDL_PROGRAMS) 27 A(CSIDL_CONTROLS) 28 A(CSIDL_PRINTERS) 29 A(CSIDL_PERSONAL) // CSIDL_MYDOCUMENTS 30 A(CSIDL_FAVORITES) 31 A(CSIDL_STARTUP) 32 A(CSIDL_RECENT) 33 A(CSIDL_SENDTO) 34 A(CSIDL_BITBUCKET) 35 A(CSIDL_STARTMENU) 36 A(CSIDL_MYMUSIC) 37 A(CSIDL_MYVIDEO) 38 A(CSIDL_DESKTOPDIRECTORY) 39 A(CSIDL_DRIVES) 40 A(CSIDL_NETWORK) 41 A(CSIDL_NETHOOD) 42 A(CSIDL_FONTS) 43 A(CSIDL_TEMPLATES) 44 A(CSIDL_COMMON_STARTMENU) 45 A(CSIDL_COMMON_PROGRAMS) 46 A(CSIDL_COMMON_STARTUP) 47 A(CSIDL_COMMON_DESKTOPDIRECTORY) 48 A(CSIDL_APPDATA) 49 A(CSIDL_PRINTHOOD) 50 A(CSIDL_LOCAL_APPDATA) 51 A(CSIDL_ALTSTARTUP) 52 A(CSIDL_COMMON_ALTSTARTUP) 53 A(CSIDL_COMMON_FAVORITES) 54 A(CSIDL_INTERNET_CACHE) 55 A(CSIDL_COOKIES) 56 A(CSIDL_HISTORY) 57 A(CSIDL_COMMON_APPDATA) 58 A(CSIDL_WINDOWS) 59 A(CSIDL_SYSTEM) 60 A(CSIDL_PROGRAM_FILES) 61 A(CSIDL_MYPICTURES) 62 A(CSIDL_PROFILE) 63 A(CSIDL_SYSTEMX86) 64 A(CSIDL_PROGRAM_FILESX86) 65 A(CSIDL_PROGRAM_FILES_COMMON) 66 A(CSIDL_PROGRAM_FILES_COMMONX86) 67 A(CSIDL_COMMON_TEMPLATES) 68 A(CSIDL_COMMON_DOCUMENTS) 69 A(CSIDL_COMMON_ADMINTOOLS) 70 A(CSIDL_ADMINTOOLS) 71 A(CSIDL_CONNECTIONS) 72 A(CSIDL_COMMON_MUSIC) 73 A(CSIDL_COMMON_PICTURES) 74 A(CSIDL_COMMON_VIDEO) 75 A(CSIDL_RESOURCES) 76 A(CSIDL_RESOURCES_LOCALIZED) 77 A(CSIDL_COMMON_OEM_LINKS) 78 A(CSIDL_CDBURN_AREA) 79 A(CSIDL_COMPUTERSNEARME) 80 #undef A 81 }; 82 _tprintf(_T("CSIDL paths:\n\n")); 83 for(auto&& Item: g_pMap) 84 { 85 TCHAR pszPath[MAX_PATH] = { 0 }; 86 if(SHGetSpecialFolderPath(NULL, pszPath, Item.nIdentifier, FALSE)) 87 _tprintf(_T("%hs: %s\n"), Item.pszName, pszPath); 88 else 89 _tprintf(_T("%hs not found\n"), Item.pszName); 90 } 91 _tprintf(_T("\n")); 92 } 93 #pragma endregion 94 #pragma region FOLDERID_xxx 22 95 { 23 { CSIDL_DESKTOP, _T("CSIDL_DESKTOP"), }, 24 { CSIDL_INTERNET, _T("CSIDL_INTERNET"), }, 25 { CSIDL_PROGRAMS, _T("CSIDL_PROGRAMS"), }, 26 { CSIDL_CONTROLS, _T("CSIDL_CONTROLS"), }, 27 { CSIDL_PRINTERS, _T("CSIDL_PRINTERS"), }, 28 { CSIDL_PERSONAL, _T("CSIDL_PERSONAL"), }, 29 { CSIDL_FAVORITES, _T("CSIDL_FAVORITES"), }, 30 { CSIDL_STARTUP, _T("CSIDL_STARTUP"), }, 31 { CSIDL_RECENT, _T("CSIDL_RECENT"), }, 32 { CSIDL_SENDTO, _T("CSIDL_SENDTO"), }, 33 { CSIDL_BITBUCKET, _T("CSIDL_BITBUCKET"), }, 34 { CSIDL_STARTMENU, _T("CSIDL_STARTMENU"), }, 35 { CSIDL_MYDOCUMENTS, _T("CSIDL_MYDOCUMENTS"), }, 36 { CSIDL_MYMUSIC, _T("CSIDL_MYMUSIC"), }, 37 { CSIDL_MYVIDEO, _T("CSIDL_MYVIDEO"), }, 38 { CSIDL_DESKTOPDIRECTORY, _T("CSIDL_DESKTOPDIRECTORY"), }, 39 { CSIDL_DRIVES, _T("CSIDL_DRIVES"), }, 40 { CSIDL_NETWORK, _T("CSIDL_NETWORK"), }, 41 { CSIDL_NETHOOD, _T("CSIDL_NETHOOD"), }, 42 { CSIDL_FONTS, _T("CSIDL_FONTS"), }, 43 { CSIDL_TEMPLATES, _T("CSIDL_TEMPLATES"), }, 44 { CSIDL_COMMON_STARTMENU, _T("CSIDL_COMMON_STARTMENU"), }, 45 { CSIDL_COMMON_PROGRAMS, _T("CSIDL_COMMON_PROGRAMS"), }, 46 { CSIDL_COMMON_STARTUP, _T("CSIDL_COMMON_STARTUP"), }, 47 { CSIDL_COMMON_DESKTOPDIRECTORY, _T("CSIDL_COMMON_DESKTOPDIRECTORY"), }, 48 { CSIDL_APPDATA, _T("CSIDL_APPDATA"), }, 49 { CSIDL_PRINTHOOD, _T("CSIDL_PRINTHOOD"), }, 50 { CSIDL_LOCAL_APPDATA, _T("CSIDL_LOCAL_APPDATA"), }, 51 { CSIDL_ALTSTARTUP, _T("CSIDL_ALTSTARTUP"), }, 52 { CSIDL_COMMON_ALTSTARTUP, _T("CSIDL_COMMON_ALTSTARTUP"), }, 53 { CSIDL_COMMON_FAVORITES, _T("CSIDL_COMMON_FAVORITES"), }, 54 { CSIDL_INTERNET_CACHE, _T("CSIDL_INTERNET_CACHE"), }, 55 { CSIDL_COOKIES, _T("CSIDL_COOKIES"), }, 56 { CSIDL_HISTORY, _T("CSIDL_HISTORY"), }, 57 { CSIDL_COMMON_APPDATA, _T("CSIDL_COMMON_APPDATA"), }, 58 { CSIDL_WINDOWS, _T("CSIDL_WINDOWS"), }, 59 { CSIDL_SYSTEM, _T("CSIDL_SYSTEM"), }, 60 { CSIDL_PROGRAM_FILES, _T("CSIDL_PROGRAM_FILES"), }, 61 { CSIDL_MYPICTURES, _T("CSIDL_MYPICTURES"), }, 62 { CSIDL_PROFILE, _T("CSIDL_PROFILE"), }, 63 { CSIDL_SYSTEMX86, _T("CSIDL_SYSTEMX86"), }, 64 { CSIDL_PROGRAM_FILESX86, _T("CSIDL_PROGRAM_FILESX86"), }, 65 { CSIDL_PROGRAM_FILES_COMMON, _T("CSIDL_PROGRAM_FILES_COMMON"), }, 66 { CSIDL_PROGRAM_FILES_COMMONX86, _T("CSIDL_PROGRAM_FILES_COMMONX86"), }, 67 { CSIDL_COMMON_TEMPLATES, _T("CSIDL_COMMON_TEMPLATES"), }, 68 { CSIDL_COMMON_DOCUMENTS, _T("CSIDL_COMMON_DOCUMENTS"), }, 69 { CSIDL_COMMON_ADMINTOOLS, _T("CSIDL_COMMON_ADMINTOOLS"), }, 70 { CSIDL_ADMINTOOLS, _T("CSIDL_ADMINTOOLS"), }, 71 { CSIDL_CONNECTIONS, _T("CSIDL_CONNECTIONS"), }, 72 { CSIDL_COMMON_MUSIC, _T("CSIDL_COMMON_MUSIC"), }, 73 { CSIDL_COMMON_PICTURES, _T("CSIDL_COMMON_PICTURES"), }, 74 { CSIDL_COMMON_VIDEO, _T("CSIDL_COMMON_VIDEO"), }, 75 { CSIDL_RESOURCES, _T("CSIDL_RESOURCES"), }, 76 { CSIDL_RESOURCES_LOCALIZED, _T("CSIDL_RESOURCES_LOCALIZED"), }, 77 { CSIDL_COMMON_OEM_LINKS, _T("CSIDL_COMMON_OEM_LINKS"), }, 78 { CSIDL_CDBURN_AREA, _T("CSIDL_CDBURN_AREA"), }, 79 { CSIDL_COMPUTERSNEARME, _T("CSIDL_COMPUTERSNEARME"), }, 80 }; 81 _tprintf(_T("CSIDL paths:\n")); 82 for(SIZE_T nIndex = 0; nIndex < _countof(g_pMap); nIndex++) 83 { 84 TCHAR pszPath[MAX_PATH] = { 0 }; 85 if(SHGetSpecialFolderPath(NULL, pszPath, g_pMap[nIndex].nIdentifier, FALSE)) 86 _tprintf(_T("%s: %s\n"), g_pMap[nIndex].pszName, pszPath); 87 else 88 _tprintf(_T("%s not found\n"), g_pMap[nIndex].pszName); 96 static const struct 97 { 98 KNOWNFOLDERID Identifier; 99 LPCSTR pszName; 100 } g_pMap[] = 101 { 102 #define A(x) { x, #x }, 103 A(FOLDERID_NetworkFolder) 104 A(FOLDERID_ComputerFolder) 105 A(FOLDERID_InternetFolder) 106 A(FOLDERID_ControlPanelFolder) 107 A(FOLDERID_PrintersFolder) 108 A(FOLDERID_SyncManagerFolder) 109 A(FOLDERID_SyncSetupFolder) 110 A(FOLDERID_ConflictFolder) 111 A(FOLDERID_SyncResultsFolder) 112 A(FOLDERID_RecycleBinFolder) 113 A(FOLDERID_ConnectionsFolder) 114 A(FOLDERID_Fonts) 115 A(FOLDERID_Desktop) 116 A(FOLDERID_Startup) 117 A(FOLDERID_Programs) 118 A(FOLDERID_StartMenu) 119 A(FOLDERID_Recent) 120 A(FOLDERID_SendTo) 121 A(FOLDERID_Documents) 122 A(FOLDERID_Favorites) 123 A(FOLDERID_NetHood) 124 A(FOLDERID_PrintHood) 125 A(FOLDERID_Templates) 126 A(FOLDERID_CommonStartup) 127 A(FOLDERID_CommonPrograms) 128 A(FOLDERID_CommonStartMenu) 129 A(FOLDERID_PublicDesktop) 130 A(FOLDERID_ProgramData) 131 A(FOLDERID_CommonTemplates) 132 A(FOLDERID_PublicDocuments) 133 A(FOLDERID_RoamingAppData) 134 A(FOLDERID_LocalAppData) 135 A(FOLDERID_LocalAppDataLow) 136 A(FOLDERID_InternetCache) 137 A(FOLDERID_Cookies) 138 A(FOLDERID_History) 139 A(FOLDERID_System) 140 A(FOLDERID_SystemX86) 141 A(FOLDERID_Windows) 142 A(FOLDERID_Profile) 143 A(FOLDERID_Pictures) 144 A(FOLDERID_ProgramFilesX86) 145 A(FOLDERID_ProgramFilesCommonX86) 146 A(FOLDERID_ProgramFilesX64) 147 A(FOLDERID_ProgramFilesCommonX64) 148 A(FOLDERID_ProgramFiles) 149 A(FOLDERID_ProgramFilesCommon) 150 A(FOLDERID_UserProgramFiles) 151 A(FOLDERID_UserProgramFilesCommon) 152 A(FOLDERID_AdminTools) 153 A(FOLDERID_CommonAdminTools) 154 A(FOLDERID_Music) 155 A(FOLDERID_Videos) 156 A(FOLDERID_Ringtones) 157 A(FOLDERID_PublicPictures) 158 A(FOLDERID_PublicMusic) 159 A(FOLDERID_PublicVideos) 160 A(FOLDERID_PublicRingtones) 161 A(FOLDERID_ResourceDir) 162 A(FOLDERID_LocalizedResourcesDir) 163 A(FOLDERID_CommonOEMLinks) 164 A(FOLDERID_CDBurning) 165 A(FOLDERID_UserProfiles) 166 A(FOLDERID_Playlists) 167 A(FOLDERID_SamplePlaylists) 168 A(FOLDERID_SampleMusic) 169 A(FOLDERID_SamplePictures) 170 A(FOLDERID_SampleVideos) 171 A(FOLDERID_PhotoAlbums) 172 A(FOLDERID_Public) 173 A(FOLDERID_ChangeRemovePrograms) 174 A(FOLDERID_AppUpdates) 175 A(FOLDERID_AddNewPrograms) 176 A(FOLDERID_Downloads) 177 A(FOLDERID_PublicDownloads) 178 A(FOLDERID_SavedSearches) 179 A(FOLDERID_QuickLaunch) 180 A(FOLDERID_Contacts) 181 A(FOLDERID_SidebarParts) 182 A(FOLDERID_SidebarDefaultParts) 183 A(FOLDERID_PublicGameTasks) 184 A(FOLDERID_GameTasks) 185 A(FOLDERID_SavedGames) 186 A(FOLDERID_Games) 187 A(FOLDERID_SEARCH_MAPI) 188 A(FOLDERID_SEARCH_CSC) 189 A(FOLDERID_Links) 190 A(FOLDERID_UsersFiles) 191 A(FOLDERID_UsersLibraries) 192 A(FOLDERID_SearchHome) 193 A(FOLDERID_OriginalImages) 194 A(FOLDERID_DocumentsLibrary) 195 A(FOLDERID_MusicLibrary) 196 A(FOLDERID_PicturesLibrary) 197 A(FOLDERID_VideosLibrary) 198 A(FOLDERID_RecordedTVLibrary) 199 A(FOLDERID_HomeGroup) 200 A(FOLDERID_HomeGroupCurrentUser) 201 A(FOLDERID_DeviceMetadataStore) 202 A(FOLDERID_Libraries) 203 A(FOLDERID_PublicLibraries) 204 A(FOLDERID_UserPinned) 205 A(FOLDERID_ImplicitAppShortcuts) 206 A(FOLDERID_AccountPictures) 207 A(FOLDERID_PublicUserTiles) 208 A(FOLDERID_AppsFolder) 209 A(FOLDERID_ApplicationShortcuts) 210 A(FOLDERID_RoamingTiles) 211 A(FOLDERID_RoamedTileImages) 212 A(FOLDERID_Screenshots) 213 A(FOLDERID_CameraRoll) 214 A(FOLDERID_SkyDrive) 215 A(FOLDERID_SkyDriveDocuments) 216 A(FOLDERID_SkyDrivePictures) 217 A(FOLDERID_SkyDriveMusic) 218 A(FOLDERID_SkyDriveCameraRoll) 219 A(FOLDERID_SearchHistory) 220 A(FOLDERID_SearchTemplates) 221 #undef A 222 }; 223 _tprintf(_T("FOLDERID paths:\n\n")); 224 for(auto&& Item: g_pMap) 225 { 226 CComHeapPtr<TCHAR> pszPath; 227 const HRESULT nResult = SHGetKnownFolderPath(Item.Identifier, KF_FLAG_DEFAULT_PATH, NULL, &pszPath); 228 if(SUCCEEDED(nResult)) 229 _tprintf(_T("%hs: %s\n"), Item.pszName, pszPath); 230 else 231 _tprintf(_T("%hs not found (0x%08X)\n"), Item.pszName, nResult); 232 } 233 _tprintf(_T("\n")); 89 234 } 90 _tprintf(_T("\n"));235 #pragma endregion 91 236 return 0; 92 237 }
Note: See TracChangeset
for help on using the changeset viewer.