Ignore:
Timestamp:
Sep 2, 2015, 12:33:58 PM (7 years ago)
Author:
roman
Message:
 
Location:
trunk/Utilities/Miscellaneous/ConstantSpecialItems
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Utilities/Miscellaneous/ConstantSpecialItems

    • Property svn:ignore
      •  

        old new  
        11*.suo
        22*.user
         3_Bin
  • trunk/Utilities/Miscellaneous/ConstantSpecialItems/ConstantSpecialItems.cpp

    r158 r502  
    11////////////////////////////////////////////////////////////
    2 // Copyright (C) Roman Ryltsov, 2008-2009
     2// Copyright (C) Roman Ryltsov, 2008-2015
    33// Created by Roman Ryltsov roman@alax.info
    4 //
    5 // $Id: ConstantSpecialItems.cpp 144 2009-06-21 10:58:12Z alax $
    64
    75#include "stdafx.h"
     
    1513        _tprintf(_T("Windows version %d.%d, Build %d\n"), VersionInformation.dwMajorVersion, VersionInformation.dwMinorVersion, VersionInformation.dwBuildNumber);
    1614        _tprintf(_T("\n"));
    17         static const struct
     15        #pragma region CSIDL_xxx
    1816        {
    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
    2295        {
    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"));
    89234        }
    90         _tprintf(_T("\n"));
     235        #pragma endregion
    91236        return 0;
    92237}
Note: See TracChangeset for help on using the changeset viewer.