Get Windows System specific directory path
Uses Shlobj
Get method:
function GetPath (Fid:integer): string;
Var
Pidl:pitemidlist;
Path:array[0..max_path] of Char;
Begin
SHGetSpecialFolderLocation (0, FID, pidl);
SHGetPathFromIDList (pidl, path);
Result: = path;
End
The parameters can be the following:
1 csidl_desktop, {= $0000}
2 csidl_internet, {= $0001}
3 Csidl_programs, {= $0002}
4 Csidl_controls, {= $0003}
5 Csidl_printers, {= $0004}
6 Csidl_personal, {= $0005}
7 Csidl_favorites, {= $0006}
8 Csidl_startup, {= $0007}
9 Csidl_recent, {= $0008}
Ten csidl_sendto, {= $0009}
Csidl_bitbucket, {= $000a}
Csidl_startmenu, {= $000b}
Csidl_mydocuments, {= $000c}
Csidl_mymusic, {= $000d}
Csidl_myvideo, {= $000e}
Csidl_desktopdirectory, {= $0010}
Csidl_drives, {= $0011}
Csidl_network, {= $0012}
Csidl_nethood, {= $0013}
Csidl_fonts, {= $0014}
Csidl_templates, {= $0015}
Csidl_common_startmenu, {= $0016}
Csidl_common_programs, {= $0017}
Csidl_common_startup, {= $0018}
Csidl_common_desktopdirectory, {= $0019}
Csidl_appdata, {= $001a}
Csidl_printhood, {= $001b}
Csidl_local_appdata, {= $001c}
Csidl_altstartup, {= $001d}
Csidl_common_altstartup, {= $001e}
Csidl_common_favorites, {= $001f}
Csidl_internet_cache, {= $0020}
Csidl_cookies, {= $0021}
Csidl_history, {= $0022}
Csidl_common_appdata, {= $0023}
Csidl_windows, {= $0024}
PNs Csidl_system, {= $0025}
Csidl_program_files, {= $0026}
Csidl_mypictures, {= $0027}
Csidl_profile, {= $0028}
Csidl_systemx86, {= $0029}
Csidl_program_filesx86, {= $002a}
Csidl_program_files_common, {= $002b}
Csidl_program_files_commonx86, {= $002c}
Csidl_common_templates, {= $002d}
Csidl_common_documents, {= $002e}
Csidl_common_admintools, {= $002f}
Csidl_admintools, {= $0030}
Csidl_connections, {= $0031}
Csidl_common_music, {= $0035}
Wuyi Csidl_common_pictures, {= $0036}
Csidl_common_video, {= $0037}
Csidl_resources, {= $0038}
csidl_resources_localized, {= $0039}
Csidl_common_oem_links, {= $003a}
Csidl_cdburn_area, {= $003b}
Csidl_computersnearme, {= $003d}
csidl_profiles {= $003e}
corresponding results (WIN7 operating system):
0:c:\users\zhubk\desktop
2:c:\users\zhubk\appdata\roaming\microsoft\windows\start Menu\Programs
5:c:\users\zhubk\documents
6:c:\users\zhubk\favorites
7:c:\users\zhubk\appdata\roaming\microsoft\windows\start Menu\Programs\Startup
8:c:\users\zhubk\appdata\roaming\microsoft\windows\recent
9:c:\users\zhubk\appdata\roaming\microsoft\windows\sendto
11:c:\users\zhubk\appdata\roaming\microsoft\windows\start Menu
13:c:\users\zhubk\music
14:c:\users\zhubk\videos
16:c:\users\zhubk\desktop
19:c:\users\zhubk\appdata\roaming\microsoft\windows\network shortcuts
20:c:\windows\fonts
21:c:\users\zhubk\appdata\roaming\microsoft\windows\templates
22:c:\programdata\microsoft\windows\start Menu
23:c:\programdata\microsoft\windows\start Menu\Programs
24:c:\programdata\microsoft\windows\start Menu\Programs\Startup
25:c:\users\public\desktop
26:c:\users\zhubk\appdata\roaming
27:c:\users\zhubk\appdata\roaming\microsoft\windows\printer shortcuts
28:c:\users\zhubk\appdata\local
29:c:\users\zhubk\appdata\roaming\microsoft\windows\start Menu\Programs\Startup
30:c:\programdata\microsoft\windows\start Menu\Programs\Startup
31:c:\users\zhubk\favorites
32:c:\users\zhubk\appdata\local\microsoft\windows\temporary Internet Files
33:c:\users\zhubk\appdata\roaming\microsoft\windows\cookies
34:c:\users\zhubk\appdata\local\microsoft\windows\history
35:c:\programdata
36:c:\windows
37:c:\windows\system32
38:c:\program Files
39:c:\users\zhubk\pictures
40:c:\users\zhubk
41:c:\windows\system32
42:c:\program Files
43:c:\program Files\Common Files
44:c:\program Files\Common Files
45:c:\programdata\microsoft\windows\templates
46:c:\users\public\documents
47:c:\programdata\microsoft\windows\start Menu\Programs\Administrative Tools
48:c:\users\zhubk\appdata\roaming\microsoft\windows\start Menu\Programs\Administrative Tools
53:c:\users\public\music
54:c:\users\public\pictures
55:c:\users\public\videos
56:c:\windows\resources
59:c:\users\zhubk\appdata\local\microsoft\windows\burn\burn
Get Windows System specific directory path