- From: Brant Langer Gurganus <brantgurganus2001@cherokeescouting.org>
- Date: Thu, 20 Feb 2003 15:55:06 -0500
- To: Amaya Mailing List <www-amaya@w3.org>
- Message-ID: <3E5540AA.2040904@cherokeescouting.org>
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