more profile directory information

 From the Designed for Windows XP Application Specification:
LINK="#333399" DIR="LTR">


            F1.6 Use SHGetFolderPath to determine special folder paths

*SHGetFolderPath* is the preferred method of retrieving paths for 
specific situations in several of the requirements. There are many other 
special folders that you can access from *SHGetFolderPath*.

Whenever you access any of the special folders (see the implementation 
details), the application should use the Win32 APIs to dynamically 
obtain the proper language-specific folder names. The preferred way to 
do this is using the *SHGetFolderPath* API with the appropriate CSIDL 
constant. This function behaves consistently across Windows 95, Windows 
98, Windows Me, Windows NT 4.0, Windows 2000, and Windows XP.

*Implementation Details – S4.6*

This API is redistributable through the Shfolder.dll. Software vendors 
are encouraged to redistribute this component as much as possible to 
enable this support on versions of Windows operating systems earlier 
than Windows XP. Windows 2000 includes this DLL as a protected system 
file and, as such, this DLL cannot be replaced on Windows 2000 or later.

To help ensure that the application can run on Windows 95/98, Windows 
Me, Windows NT 4.0, Windows 2000, and Windows XP, always link to the 
*SHGetFolderPath* implementation in Shfolder.dll. Windows 2000 and 
Windows XP natively implement *SHGetFolderPath* in Shell32.dll, but 
other versions of Windows do not include *SHGetFolderPath* in Shell32.dll.

For full descriptions of all CLSID values, see the article titled "CSIDL 
Values" in the MSDN Library. You can find it and other references by 
going to http://msdn.microsoft.com/library/default.asp and doing a 
search for "CSIDL Values". The following is a list of several 
significant CLSID values.

*Standard folder*

 

*CSIDL constant name*

Documents folder ([user] profile)

 

CSIDL_MYDOCUMENTS

Music folder ([user] profile)

 

CSIDL_MYMUSIC

Video folder ([user] profile)

 

CSIDL_MYVIDEO

Desktop folder ([user] profile)

 

CSIDL_DESKTOPDIRECTORY

Start menu ([user] profile)

 

CSIDL_STARTMENU

Programs folder (under Start menu in [user] profile)

 

CSIDL_PROGRAMS

Application Data ([user] profile)

 

CSIDL_APPDATA

Documents folder (All Users Profile)

 

CSIDL_COMMON_DOCUMENTS

Music folder (All Users Profile)

 

CSIDL_COMMON_MUSIC

Video folder (All Users Profile)

 

CSIDL_COMMON_VIDEO

Start menu (All Users profile)

 

CSIDL_COMMON_STARTMENU

Programs folder (under Start menu in All Users profile)

 

CSIDL_COMMON_PROGRAMS

Application Data (All Users Profile)

 

CSIDL_COMMON_APPDATA

Local (non-roaming) data repository for apps

 

CSIDL_LOCAL_APPDATA





-- 
Brant Langer Gurganus
http://www.cherokeescouting.org/OtherUnits/Troop545IIN/brant.xhtml

If "Actions speak louder than words," how is that "The pen is mightier than the sword."?

Received on Thursday, 20 February 2003 15:56:18 UTC