source: trunk/Utilities/Miscellaneous/ConstantSpecialItems/ConstantSpecialItems.cpp @ 158

Last change on this file since 158 was 158, checked in by roman, 10 years ago
File size: 4.0 KB
Line 
1////////////////////////////////////////////////////////////
2// Copyright (C) Roman Ryltsov, 2008-2009
3// Created by Roman Ryltsov roman@alax.info
4//
5// $Id: ConstantSpecialItems.cpp 144 2009-06-21 10:58:12Z alax $
6
7#include "stdafx.h"
8#include <windows.h>
9#include <shlobj.h>
10
11int _tmain(int argc, _TCHAR* argv[])
12{
13        OSVERSIONINFOEX VersionInformation = { sizeof VersionInformation };
14        ATLVERIFY(GetVersionEx((OSVERSIONINFO*) &VersionInformation));
15        _tprintf(_T("Windows version %d.%d, Build %d\n"), VersionInformation.dwMajorVersion, VersionInformation.dwMinorVersion, VersionInformation.dwBuildNumber);
16        _tprintf(_T("\n"));
17        static const struct
18        {
19                INT nIdentifier;
20                LPCTSTR pszName;
21        } g_pMap[] = 
22        {
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);
89        }
90        _tprintf(_T("\n"));
91        return 0;
92}
93
Note: See TracBrowser for help on using the repository browser.