I just followed your solution, However, I think my approach is not an optimum solution.
I want to create a list of Windows Special Folders with this format:
'FolderName': 'FolderLocation'
uses
WinDirs,SysUtils;
Type
FIDList=Array[1..141] of TGUID;
Var
FIDL:FIDList;
I:Integer;
Function MakeListGUID:FIDList;
Var
F:FIDList;
Begin
F[ 1]:=FOLDERID_AccountPictures;
F[ 2]:=FOLDERID_AddNewPrograms;
F[ 3]:=FOLDERID_AdminTools;
F[ 4]:=FOLDERID_AllAppMods;
F[ 5]:=FOLDERID_AppCaptures;
F[ 6]:=FOLDERID_AppDataDesktop;
F[ 7]:=FOLDERID_AppDataDocuments;
F[ 8]:=FOLDERID_AppDataFavorites;
F[ 9]:=FOLDERID_AppDataProgramData;
F[ 10]:=FOLDERID_AppUpdates;
F[ 11]:=FOLDERID_ApplicationShortcuts;
F[ 12]:=FOLDERID_AppsFolder;
F[ 13]:=FOLDERID_CDBurning;
F[ 14]:=FOLDERID_CameraRoll;
F[ 15]:=FOLDERID_CameraRollLibrary;
F[ 16]:=FOLDERID_ChangeRemovePrograms;
F[ 17]:=FOLDERID_CommonAdminTools;
F[ 18]:=FOLDERID_CommonOEMLinks;
F[ 19]:=FOLDERID_CommonPrograms;
F[ 20]:=FOLDERID_CommonStartMenu;
F[ 21]:=FOLDERID_CommonStartMenuPlaces;
F[ 22]:=FOLDERID_CommonStartup;
F[ 23]:=FOLDERID_CommonTemplates;
F[ 24]:=FOLDERID_ComputerFolder;
F[ 25]:=FOLDERID_ConflictFolder;
F[ 26]:=FOLDERID_ConnectionsFolder;
F[ 27]:=FOLDERID_Contacts;
F[ 28]:=FOLDERID_ControlPanelFolder;
F[ 29]:=FOLDERID_Cookies;
F[ 30]:=FOLDERID_CurrentAppMods;
F[ 31]:=FOLDERID_Desktop;
F[ 32]:=FOLDERID_DevelopmentFiles;
F[ 33]:=FOLDERID_Device;
F[ 34]:=FOLDERID_DeviceMetadataStore;
F[ 35]:=FOLDERID_Documents;
F[ 36]:=FOLDERID_DocumentsLibrary;
F[ 37]:=FOLDERID_Downloads;
F[ 38]:=FOLDERID_Favorites;
F[ 39]:=FOLDERID_Fonts;
F[ 40]:=FOLDERID_GameTasks;
F[ 41]:=FOLDERID_Games;
F[ 42]:=FOLDERID_History;
F[ 43]:=FOLDERID_HomeGroup;
F[ 44]:=FOLDERID_HomeGroupCurrentUser;
F[ 45]:=FOLDERID_ImplicitAppShortcuts;
F[ 46]:=FOLDERID_InternetCache;
F[ 47]:=FOLDERID_InternetFolder;
F[ 48]:=FOLDERID_Libraries;
F[ 49]:=FOLDERID_Links;
F[ 50]:=FOLDERID_LocalAppData;
F[ 51]:=FOLDERID_LocalAppDataLow;
F[ 52]:=FOLDERID_LocalDocuments;
F[ 53]:=FOLDERID_LocalDownloads;
F[ 54]:=FOLDERID_LocalMusic;
F[ 55]:=FOLDERID_LocalPictures;
F[ 56]:=FOLDERID_LocalVideos;
F[ 57]:=FOLDERID_LocalizedResourcesDir;
F[ 58]:=FOLDERID_Music;
F[ 59]:=FOLDERID_MusicLibrary;
F[ 60]:=FOLDERID_NetHood;
F[ 61]:=FOLDERID_NetworkFolder;
F[ 62]:=FOLDERID_Objects3D;
F[ 63]:=FOLDERID_OneDrive;
F[ 64]:=FOLDERID_OriginalImages;
F[ 65]:=FOLDERID_PhotoAlbums;
F[ 66]:=FOLDERID_Pictures;
F[ 67]:=FOLDERID_PicturesLibrary;
F[ 68]:=FOLDERID_Playlists;
F[ 69]:=FOLDERID_PrintHood;
F[ 70]:=FOLDERID_PrintersFolder;
F[ 71]:=FOLDERID_Profile;
F[ 72]:=FOLDERID_ProgramData;
F[ 73]:=FOLDERID_ProgramFiles;
F[ 74]:=FOLDERID_ProgramFilesCommon;
F[ 75]:=FOLDERID_ProgramFilesCommonX64;
F[ 76]:=FOLDERID_ProgramFilesCommonX86;
F[ 77]:=FOLDERID_ProgramFilesX64;
F[ 78]:=FOLDERID_ProgramFilesX86;
F[ 79]:=FOLDERID_Programs;
F[ 80]:=FOLDERID_Public;
F[ 81]:=FOLDERID_PublicDesktop;
F[ 82]:=FOLDERID_PublicDocuments;
F[ 83]:=FOLDERID_PublicDownloads;
F[ 84]:=FOLDERID_PublicGameTasks;
F[ 85]:=FOLDERID_PublicLibraries;
F[ 86]:=FOLDERID_PublicMusic;
F[ 87]:=FOLDERID_PublicPictures;
F[ 88]:=FOLDERID_PublicRingtones;
F[ 89]:=FOLDERID_PublicUserTiles;
F[ 90]:=FOLDERID_PublicVideos;
F[ 91]:=FOLDERID_QuickLaunch;
F[ 92]:=FOLDERID_Recent;
F[ 93]:=FOLDERID_RecordedCalls;
F[ 94]:=FOLDERID_RecordedTVLibrary;
F[ 95]:=FOLDERID_RecycleBinFolder;
F[ 96]:=FOLDERID_ResourceDir;
F[ 97]:=FOLDERID_RetailDemo;
F[ 98]:=FOLDERID_Ringtones;
F[ 99]:=FOLDERID_RoamedTileImages;
F[100]:=FOLDERID_RoamingAppData;
F[101]:=FOLDERID_RoamingTiles;
F[102]:=FOLDERID_SEARCH_CSC;
F[103]:=FOLDERID_SEARCH_MAPI;
F[104]:=FOLDERID_SampleMusic;
F[105]:=FOLDERID_SamplePictures;
F[106]:=FOLDERID_SamplePlaylists;
F[107]:=FOLDERID_SampleVideos;
F[108]:=FOLDERID_SavedGames;
F[109]:=FOLDERID_SavedPictures;
F[110]:=FOLDERID_SavedPicturesLibrary;
F[111]:=FOLDERID_SavedSearches;
F[112]:=FOLDERID_Screenshots;
F[113]:=FOLDERID_SearchHistory;
F[114]:=FOLDERID_SearchHome;
F[115]:=FOLDERID_SearchTemplates;
F[116]:=FOLDERID_SendTo;
F[117]:=FOLDERID_SidebarDefaultParts;
F[118]:=FOLDERID_SidebarParts;
F[119]:=FOLDERID_SkyDrive;
F[120]:=FOLDERID_SkyDriveCameraRoll;
F[121]:=FOLDERID_SkyDriveDocuments;
F[122]:=FOLDERID_SkyDriveMusic;
F[123]:=FOLDERID_SkyDrivePictures;
F[124]:=FOLDERID_StartMenu;
F[125]:=FOLDERID_StartMenuAllPrograms;
F[126]:=FOLDERID_Startup;
F[127]:=FOLDERID_SyncManagerFolder;
F[128]:=FOLDERID_SyncResultsFolder;
F[129]:=FOLDERID_SyncSetupFolder;
F[130]:=FOLDERID_System;
F[131]:=FOLDERID_SystemX86;
F[132]:=FOLDERID_Templates;
F[133]:=FOLDERID_UserPinned;
F[134]:=FOLDERID_UserProfiles;
F[135]:=FOLDERID_UserProgramFiles;
F[136]:=FOLDERID_UserProgramFilesCommon;
F[137]:=FOLDERID_UsersFiles;
F[138]:=FOLDERID_UsersLibraries;
F[139]:=FOLDERID_Videos;
F[140]:=FOLDERID_VideosLibrary;
F[141]:=FOLDERID_Windows;
Result:=F;
end;
Function FolderID2Str(FID:TGUID):String;
Begin
Result := 'ERROR';
If IsEqualGUID(FID, FOLDERID_AccountPictures)then exit('AccountPictures');
If IsEqualGUID(FID, FOLDERID_AddNewPrograms)then exit('AddNewPrograms');
If IsEqualGUID(FID, FOLDERID_AdminTools)then exit('AdminTools');
If IsEqualGUID(FID, FOLDERID_AllAppMods)then exit('AllAppMods');
If IsEqualGUID(FID, FOLDERID_AppCaptures)then exit('AppCaptures');
If IsEqualGUID(FID, FOLDERID_AppDataDesktop)then exit('AppDataDesktop');
If IsEqualGUID(FID, FOLDERID_AppDataDocuments)then exit('AppDataDocuments');
If IsEqualGUID(FID, FOLDERID_AppDataFavorites)then exit('AppDataFavorites');
If IsEqualGUID(FID, FOLDERID_AppDataProgramData)then exit('AppDataProgramData');
If IsEqualGUID(FID, FOLDERID_AppUpdates)then exit('AppUpdates');
If IsEqualGUID(FID, FOLDERID_ApplicationShortcuts)then exit('ApplicationShortcuts');
If IsEqualGUID(FID, FOLDERID_AppsFolder)then exit('AppsFolder');
If IsEqualGUID(FID, FOLDERID_CDBurning)then exit('CDBurning');
If IsEqualGUID(FID, FOLDERID_CameraRoll)then exit('CameraRoll');
If IsEqualGUID(FID, FOLDERID_CameraRollLibrary)then exit('CameraRollLibrary');
If IsEqualGUID(FID, FOLDERID_ChangeRemovePrograms)then exit('ChangeRemovePrograms');
If IsEqualGUID(FID, FOLDERID_CommonAdminTools)then exit('CommonAdminTools');
If IsEqualGUID(FID, FOLDERID_CommonOEMLinks)then exit('CommonOEMLinks');
If IsEqualGUID(FID, FOLDERID_CommonPrograms)then exit('CommonPrograms');
If IsEqualGUID(FID, FOLDERID_CommonStartMenu)then exit('CommonStartMenu');
If IsEqualGUID(FID, FOLDERID_CommonStartMenuPlaces)then exit('CommonStartMenuPlaces');
If IsEqualGUID(FID, FOLDERID_CommonStartup)then exit('CommonStartup');
If IsEqualGUID(FID, FOLDERID_CommonTemplates)then exit('CommonTemplates');
If IsEqualGUID(FID, FOLDERID_ComputerFolder)then exit('ComputerFolder');
If IsEqualGUID(FID, FOLDERID_ConflictFolder)then exit('ConflictFolder');
If IsEqualGUID(FID, FOLDERID_ConnectionsFolder)then exit('ConnectionsFolder');
If IsEqualGUID(FID, FOLDERID_Contacts)then exit('Contacts');
If IsEqualGUID(FID, FOLDERID_ControlPanelFolder)then exit('ControlPanelFolder');
If IsEqualGUID(FID, FOLDERID_Cookies)then exit('Cookies');
If IsEqualGUID(FID, FOLDERID_CurrentAppMods)then exit('CurrentAppMods');
If IsEqualGUID(FID, FOLDERID_Desktop)then exit('Desktop');
If IsEqualGUID(FID, FOLDERID_DevelopmentFiles)then exit('DevelopmentFiles');
If IsEqualGUID(FID, FOLDERID_Device)then exit('Device');
If IsEqualGUID(FID, FOLDERID_DeviceMetadataStore)then exit('DeviceMetadataStore');
If IsEqualGUID(FID, FOLDERID_Documents)then exit('Documents');
If IsEqualGUID(FID, FOLDERID_DocumentsLibrary)then exit('DocumentsLibrary');
If IsEqualGUID(FID, FOLDERID_Downloads)then exit('Downloads');
If IsEqualGUID(FID, FOLDERID_Favorites)then exit('Favorites');
If IsEqualGUID(FID, FOLDERID_Fonts)then exit('Fonts');
If IsEqualGUID(FID, FOLDERID_GameTasks)then exit('GameTasks');
If IsEqualGUID(FID, FOLDERID_Games)then exit('Games');
If IsEqualGUID(FID, FOLDERID_History)then exit('History');
If IsEqualGUID(FID, FOLDERID_HomeGroup)then exit('HomeGroup');
If IsEqualGUID(FID, FOLDERID_HomeGroupCurrentUser)then exit('HomeGroupCurrentUser');
If IsEqualGUID(FID, FOLDERID_ImplicitAppShortcuts)then exit('ImplicitAppShortcuts');
If IsEqualGUID(FID, FOLDERID_InternetCache)then exit('InternetCache');
If IsEqualGUID(FID, FOLDERID_InternetFolder)then exit('InternetFolder');
If IsEqualGUID(FID, FOLDERID_Libraries)then exit('Libraries');
If IsEqualGUID(FID, FOLDERID_Links)then exit('Links');
If IsEqualGUID(FID, FOLDERID_LocalAppData)then exit('LocalAppData');
If IsEqualGUID(FID, FOLDERID_LocalAppDataLow)then exit('LocalAppDataLow');
If IsEqualGUID(FID, FOLDERID_LocalDocuments)then exit('LocalDocuments');
If IsEqualGUID(FID, FOLDERID_LocalDownloads)then exit('LocalDownloads');
If IsEqualGUID(FID, FOLDERID_LocalMusic)then exit('LocalMusic');
If IsEqualGUID(FID, FOLDERID_LocalPictures)then exit('LocalPictures');
If IsEqualGUID(FID, FOLDERID_LocalVideos)then exit('LocalVideos');
If IsEqualGUID(FID, FOLDERID_LocalizedResourcesDir)then exit('LocalizedResourcesDir');
If IsEqualGUID(FID, FOLDERID_Music)then exit('Music');
If IsEqualGUID(FID, FOLDERID_MusicLibrary)then exit('MusicLibrary');
If IsEqualGUID(FID, FOLDERID_NetHood)then exit('NetHood');
If IsEqualGUID(FID, FOLDERID_NetworkFolder)then exit('NetworkFolder');
If IsEqualGUID(FID, FOLDERID_Objects3D)then exit('Objects3D');
If IsEqualGUID(FID, FOLDERID_OneDrive)then exit('OneDrive');
If IsEqualGUID(FID, FOLDERID_OriginalImages)then exit('OriginalImages');
If IsEqualGUID(FID, FOLDERID_PhotoAlbums)then exit('PhotoAlbums');
If IsEqualGUID(FID, FOLDERID_Pictures)then exit('Pictures');
If IsEqualGUID(FID, FOLDERID_PicturesLibrary)then exit('PicturesLibrary');
If IsEqualGUID(FID, FOLDERID_Playlists)then exit('Playlists');
If IsEqualGUID(FID, FOLDERID_PrintHood)then exit('PrintHood');
If IsEqualGUID(FID, FOLDERID_PrintersFolder)then exit('PrintersFolder');
If IsEqualGUID(FID, FOLDERID_Profile)then exit('Profile');
If IsEqualGUID(FID, FOLDERID_ProgramData)then exit('ProgramData');
If IsEqualGUID(FID, FOLDERID_ProgramFiles)then exit('ProgramFiles');
If IsEqualGUID(FID, FOLDERID_ProgramFilesCommon)then exit('ProgramFilesCommon');
If IsEqualGUID(FID, FOLDERID_ProgramFilesCommonX64)then exit('ProgramFilesCommonX64');
If IsEqualGUID(FID, FOLDERID_ProgramFilesCommonX86)then exit('ProgramFilesCommonX86');
If IsEqualGUID(FID, FOLDERID_ProgramFilesX64)then exit('ProgramFilesX64');
If IsEqualGUID(FID, FOLDERID_ProgramFilesX86)then exit('ProgramFilesX86');
If IsEqualGUID(FID, FOLDERID_Programs)then exit('Programs');
If IsEqualGUID(FID, FOLDERID_Public)then exit('Public');
If IsEqualGUID(FID, FOLDERID_PublicDesktop)then exit('PublicDesktop');
If IsEqualGUID(FID, FOLDERID_PublicDocuments)then exit('PublicDocuments');
If IsEqualGUID(FID, FOLDERID_PublicDownloads)then exit('PublicDownloads');
If IsEqualGUID(FID, FOLDERID_PublicGameTasks)then exit('PublicGameTasks');
If IsEqualGUID(FID, FOLDERID_PublicLibraries)then exit('PublicLibraries');
If IsEqualGUID(FID, FOLDERID_PublicMusic)then exit('PublicMusic');
If IsEqualGUID(FID, FOLDERID_PublicPictures)then exit('PublicPictures');
If IsEqualGUID(FID, FOLDERID_PublicRingtones)then exit('PublicRingtones');
If IsEqualGUID(FID, FOLDERID_PublicUserTiles)then exit('PublicUserTiles');
If IsEqualGUID(FID, FOLDERID_PublicVideos)then exit('PublicVideos');
If IsEqualGUID(FID, FOLDERID_QuickLaunch)then exit('QuickLaunch');
If IsEqualGUID(FID, FOLDERID_Recent)then exit('Recent');
If IsEqualGUID(FID, FOLDERID_RecordedCalls)then exit('RecordedCalls');
If IsEqualGUID(FID, FOLDERID_RecordedTVLibrary)then exit('RecordedTVLibrary');
If IsEqualGUID(FID, FOLDERID_RecycleBinFolder)then exit('RecycleBinFolder');
If IsEqualGUID(FID, FOLDERID_ResourceDir)then exit('ResourceDir');
If IsEqualGUID(FID, FOLDERID_RetailDemo)then exit('RetailDemo');
If IsEqualGUID(FID, FOLDERID_Ringtones)then exit('Ringtones');
If IsEqualGUID(FID, FOLDERID_RoamedTileImages)then exit('RoamedTileImages');
If IsEqualGUID(FID, FOLDERID_RoamingAppData)then exit('RoamingAppData');
If IsEqualGUID(FID, FOLDERID_RoamingTiles)then exit('RoamingTiles');
If IsEqualGUID(FID, FOLDERID_SEARCH_CSC)then exit('SEARCH_CSC');
If IsEqualGUID(FID, FOLDERID_SEARCH_MAPI)then exit('SEARCH_MAPI');
If IsEqualGUID(FID, FOLDERID_SampleMusic)then exit('SampleMusic');
If IsEqualGUID(FID, FOLDERID_SamplePictures)then exit('SamplePictures');
If IsEqualGUID(FID, FOLDERID_SamplePlaylists)then exit('SamplePlaylists');
If IsEqualGUID(FID, FOLDERID_SampleVideos)then exit('SampleVideos');
If IsEqualGUID(FID, FOLDERID_SavedGames)then exit('SavedGames');
If IsEqualGUID(FID, FOLDERID_SavedPictures)then exit('SavedPictures');
If IsEqualGUID(FID, FOLDERID_SavedPicturesLibrary)then exit('SavedPicturesLibrary');
If IsEqualGUID(FID, FOLDERID_SavedSearches)then exit('SavedSearches');
If IsEqualGUID(FID, FOLDERID_Screenshots)then exit('Screenshots');
If IsEqualGUID(FID, FOLDERID_SearchHistory)then exit('SearchHistory');
If IsEqualGUID(FID, FOLDERID_SearchHome)then exit('SearchHome');
If IsEqualGUID(FID, FOLDERID_SearchTemplates)then exit('SearchTemplates');
If IsEqualGUID(FID, FOLDERID_SendTo)then exit('SendTo');
If IsEqualGUID(FID, FOLDERID_SidebarDefaultParts)then exit('SidebarDefaultParts');
If IsEqualGUID(FID, FOLDERID_SidebarParts)then exit('SidebarParts');
If IsEqualGUID(FID, FOLDERID_SkyDrive)then exit('SkyDrive');
If IsEqualGUID(FID, FOLDERID_SkyDriveCameraRoll)then exit('SkyDriveCameraRoll');
If IsEqualGUID(FID, FOLDERID_SkyDriveDocuments)then exit('SkyDriveDocuments');
If IsEqualGUID(FID, FOLDERID_SkyDriveMusic)then exit('SkyDriveMusic');
If IsEqualGUID(FID, FOLDERID_SkyDrivePictures)then exit('SkyDrivePictures');
If IsEqualGUID(FID, FOLDERID_StartMenu)then exit('StartMenu');
If IsEqualGUID(FID, FOLDERID_StartMenuAllPrograms)then exit('StartMenuAllPrograms');
If IsEqualGUID(FID, FOLDERID_Startup)then exit('Startup');
If IsEqualGUID(FID, FOLDERID_SyncManagerFolder)then exit('SyncManagerFolder');
If IsEqualGUID(FID, FOLDERID_SyncResultsFolder)then exit('SyncResultsFolder');
If IsEqualGUID(FID, FOLDERID_SyncSetupFolder)then exit('SyncSetupFolder');
If IsEqualGUID(FID, FOLDERID_System)then exit('System');
If IsEqualGUID(FID, FOLDERID_SystemX86)then exit('SystemX86');
If IsEqualGUID(FID, FOLDERID_Templates)then exit('Templates');
If IsEqualGUID(FID, FOLDERID_UserPinned)then exit('UserPinned');
If IsEqualGUID(FID, FOLDERID_UserProfiles)then exit('UserProfiles');
If IsEqualGUID(FID, FOLDERID_UserProgramFiles)then exit('UserProgramFiles');
If IsEqualGUID(FID, FOLDERID_UserProgramFilesCommon)then exit('UserProgramFilesCommon');
If IsEqualGUID(FID, FOLDERID_UsersFiles)then exit('UsersFiles');
If IsEqualGUID(FID, FOLDERID_UsersLibraries)then exit('UsersLibraries');
If IsEqualGUID(FID, FOLDERID_Videos)then exit('Videos');
If IsEqualGUID(FID, FOLDERID_VideosLibrary)then exit('VideosLibrary');
If IsEqualGUID(FID, FOLDERID_Windows)then exit('Windows');
end;
begin
FIDL:=MakeListGUID;
For I:=1 to High(FIDL) do
WriteLn(FolderID2Str(FIDL[i]),': ',GetWindowsSpecialDir(FIDL[i],True));
Readln;
end.