Get the Special Folders Directories (System plugin)

From NSIS Wiki
Jump to navigationJump to search
Author: Joel (talk, contrib)


The Script

OutFile "SpecialFolders.exe"
Name "Get the Special Folders"
Caption "Get the Special Folders"
XPStyle "on"
 
!define CSIDL_DESKTOP '0x0' ;Desktop path
!define CSIDL_PROGRAMS '0x2' ;Programs path
!define CSIDL_PERSONAL '0x5' ;My document path
!define CSIDL_FAVORITES '0x6' ;Favorites path
!define CSIDL_STARTUP '0x7' ;Startup path
!define CSIDL_RECENT '0x8' ;Recent documents path
!define CSIDL_SENDTO '0x9' ;Sendto documents path
!define CSIDL_STARTMENU '0xB' ;StartMenu path
!define CSIDL_MUSIC '0xD' ;My Music path
!define CSIDL_DESKTOPDIR '0x10' ;Desktop Directory path
!define CSIDL_COMPUTER '0x11' ;My Computer path
!define CSIDL_FONTS '0x14' ;Fonts directory path
!define CSIDL_TEMPLATES '0x15' ;Windows Template path
!define CSIDL_APPDATA '0x1A' ;Application Data path
!define CSIDL_LOCALAPPDATA '0x1C' ;Local Application Data path
!define CSIDL_INTERNETCACHE '0x20' ;Internet Cache path
!define CSIDL_COOKIES '0x21' ;Cookies path
!define CSIDL_HISTORY '0x22' ;History path
!define CSIDL_COMMONAPPDATA '0x23' ;Common Application Data path
!define CSIDL_SYSTEM '0x25' ;System path
!define CSIDL_PROGRAMFILES '0x26' ;Program Files path
!define CSIDL_MYPICTURES '0x27' ;My Pictures path
!define CSIDL_COMMONPROGRAMFILES '0x2B' ;Common Program Files path
 
 
Function ".onInit"
System::Call 'shell32::SHGetSpecialFolderPath(i $HWNDPARENT, t .r1, i ${CSIDL_HISTORY}, i0)i.r0'
MessageBox MB_OK|MB_ICONINFORMATION "$1"
Quit
FunctionEnd
 
Section "-boo"
;
SectionEnd

More CSIDL's on MSDN

Thanks to Hawthorn13 to told me to update this page :P