CSIDL

注意

从 Windows Vista 起,这些值已替换为 KNOWNFOLDERID 值。 有关新常量及其相应 CSIDL 值的列表,请参阅该主题。 为方便起见,此处还为每个 CSIDL 值记录了相应的 KNOWNFOLDERID 值。

出于兼容性原因,Windows Vista 支持 CSIDL 系统。 但是,新开发应使用 KNOWNFOLDERID 值,而不是 CSIDL 值。

 

CSIDL (常量特殊项 ID 列表) 值提供了一种与系统无关的独特方法来标识应用程序经常使用但可能在任何给定系统上不具有相同名称或位置的特殊文件夹。 例如,系统文件夹可以是一个系统上的“C:\Windows”,另一个系统上的“C:\Winnt”。 这些常量在 Shlobj.h 中定义。

常量/值 说明
CSIDL_ADMINTOOLS
FOLDERID_AdminTools
版本 5.0。 用于存储各个用户的管理工具的文件系统目录。 MMC 会将自定义控制台保存到此目录,并随用户一起漫游。
CSIDL_ALTSTARTUP
FOLDERID_Startup
对应于用户的非本地化启动程序组的文件系统目录。 为了向后兼容,在 Windows Vista 中识别此值,但文件夹本身不再存在。
CSIDL_APPDATA
FOLDERID_RoamingAppData
版本 4.71。 用作应用程序特定数据的通用存储库的文件系统目录。 典型路径为 C:\Documents and Settings\username\Application Data。
CSIDL_BITBUCKET
FOLDERID_RecycleBinFolder
包含用户 回收站中的对象的虚拟文件夹。
CSIDL_CDBURN_AREA
FOLDERID_CDBurning
版本 6.0。 充当等待写入 CD 的文件的临时区域的文件系统目录。 典型路径为 C:\Documents and Settings\username\Local Settings\Application Data\Microsoft\CD Burning。
CSIDL_COMMON_ADMINTOOLS
FOLDERID_CommonAdminTools
版本 5.0。 包含计算机所有用户的管理工具的文件系统目录。
CSIDL_COMMON_ALTSTARTUP
FOLDERID_CommonStartup
与所有用户的非本地化启动程序组对应的文件系统目录。 为了向后兼容,在 Windows Vista 中识别此值,但文件夹本身不再存在。
CSIDL_COMMON_APPDATA
FOLDERID_ProgramData
版本 5.0。 包含所有用户的应用程序数据的文件系统目录。 典型路径为 C:\Documents and Settings\All Users\Application Data。 此文件夹用于非用户特定的应用程序数据。 例如,应用程序可以将拼写检查字典、剪贴画数据库或日志文件存储在 CSIDL_COMMON_APPDATA 文件夹中。 此信息不会漫游,并且可供使用计算机的任何人使用。
CSIDL_COMMON_DESKTOPDIRECTORY
FOLDERID_PublicDesktop
包含在所有用户桌面上出现的文件和文件夹的文件系统目录。 典型路径为 C:\Documents and Settings\All Users\Desktop。
CSIDL_COMMON_DOCUMENTS
FOLDERID_PublicDocuments
包含所有用户共有的文档的文件系统目录。 典型的路径是 C:\Documents 和 Settings\All Users\Documents。
CSIDL_COMMON_FAVORITES
FOLDERID_Favorites
文件系统目录,用作所有用户通用的收藏夹项目的通用存储库。
CSIDL_COMMON_MUSIC
FOLDERID_PublicMusic
版本 6.0。 充当所有用户共有的音乐文件的存储库的文件系统目录。 典型的路径是 C:\Documents and Settings\All Users\Documents\My Music。
CSIDL_COMMON_OEM_LINKS
FOLDERID_CommonOEMLinks
为了向后兼容,在 Windows Vista 中识别此值,但不再使用文件夹本身。
CSIDL_COMMON_PICTURES
FOLDERID_PublicPictures
版本 6.0。 充当所有用户共有的图像文件的存储库的文件系统目录。 典型路径为 C:\Documents and Settings\All Users\Documents\My Pictures。
CSIDL_COMMON_PROGRAMS
FOLDERID_CommonPrograms
文件系统目录,其中包含所有用户在 “开始” 菜单上显示的常见程序组的目录。 典型路径为 C:\Documents and Settings\All Users\Start Menu\Programs。
CSIDL_COMMON_STARTMENU
FOLDERID_CommonStartMenu
文件系统目录,包含所有用户的“开始”菜单上都出现的程序和文件夹。 典型路径为 C:\Documents and Settings\All Users\Start Menu。
CSIDL_COMMON_STARTUP
FOLDERID_CommonStartup
包含在所有用户的“开始”文件夹中都出现的程序的文件系统目录。 典型路径为 C:\Documents and Settings\All Users\Start Menu\Programs\Startup。
CSIDL_COMMON_TEMPLATES
FOLDERID_CommonTemplates
包含所有用户都可以使用的模板的文件系统目录。 典型路径为 C:\Documents and Settings\All Users\Templates。
CSIDL_COMMON_VIDEO
FOLDERID_PublicVideos
版本 6.0。 充当所有用户共有的视频文件的存储库的文件系统目录。 典型路径为 C:\Documents and Settings\All Users\Documents\My Videos。
CSIDL_COMPUTERSNEARME
FOLDERID_NetworkFolder
表示工作组中其他计算机的文件夹。
CSIDL_CONNECTIONS
FOLDERID_ConnectionsFolder
表示网络连接的虚拟文件夹,其中包含网络和拨号连接。
CSIDL_CONTROLS
FOLDERID_ControlPanelFolder
包含控制面板应用程序的图标的虚拟文件夹。
CSIDL_COOKIES
FOLDERID_Cookies
用作 Internet Cookie 通用存储库的文件系统目录。 典型路径为 C:\Documents and Settings\username\Cookies。
CSIDL_DESKTOP
FOLDERID_Desktop
表示 Windows 桌面的虚拟文件夹,命名空间的根目录。
CSIDL_DESKTOPDIRECTORY
FOLDERID_Desktop
用于在桌面上物理存储文件对象的文件系统目录 (不要与桌面文件夹本身) 混淆。 典型路径为 C:\Documents 和 Settings\username\Desktop。
CSIDL_DRIVES
FOLDERID_ComputerFolder
表示“我的电脑”的虚拟文件夹,其中包含本地计算机上的所有内容:存储设备、打印机和控制面板。 该文件夹还可以包含映射的网络驱动器。
CSIDL_FAVORITES
FOLDERID_Favorites
用作用户收藏项的公共存储库的文件系统目录。 典型路径为 C:\Documents and Settings\username\Favorites。
CSIDL_FONTS
FOLDERID_Fonts
包含字体的虚拟文件夹。 典型路径为 C:\Windows\Fonts。
CSIDL_HISTORY
FOLDERID_History
用作 Internet 历史记录项的公共存储库的文件系统目录。
CSIDL_INTERNET
FOLDERID_InternetFolder
Internet Explorer 的虚拟文件夹。
CSIDL_INTERNET_CACHE
FOLDERID_InternetCache
版本 4.72。 用作临时 Internet 文件的通用存储库的文件系统目录。 典型的路径是 C:\Documents and Settings\username\Local Settings\Temporary Internet Files。
CSIDL_LOCAL_APPDATA
FOLDERID_LocalAppData
版本 5.0。 用作本地 (非roaming) 应用程序的数据存储库的文件系统目录。 典型路径为 C:\Documents and Settings\username\Local Settings\Application Data。
CSIDL_MYDOCUMENTS
FOLDERID_Documents
版本 6.0。 表示“我的文档”桌面项的虚拟文件夹。 此值等效于 CSIDL_PERSONAL
CSIDL_MYMUSIC
FOLDERID_Music
用作音乐文件的通用存储库的文件系统目录。 典型的路径是 C:\Documents and Settings\User\My Documents\My Music。
CSIDL_MYPICTURES
FOLDERID_Pictures
版本 5.0。 用作映像文件的通用存储库的文件系统目录。 典型路径为 C:\Documents and Settings\username\My Documents\My Pictures。
CSIDL_MYVIDEO
FOLDERID_Videos
版本 6.0。 用作视频文件的通用存储库的文件系统目录。 典型路径为 C:\Documents and Settings\username\My Documents\My Videos。
CSIDL_NETHOOD
FOLDERID_NetHood
文件系统目录,包含“网上邻居”虚拟文件夹中可能存在的链接对象。 它与表示网络命名空间根 的 CSIDL_NETWORK 不同。 典型路径为 C:\Documents 和 Settings\username\NetHood。
CSIDL_NETWORK
FOLDERID_NetworkFolder
表示网络邻里(网络命名空间层次结构的根)的虚拟文件夹。
CSIDL_PERSONAL
FOLDERID_Documents
版本 6.0。 表示“我的文档”桌面项的虚拟文件夹。 这等效于 CSIDL_MYDOCUMENTS
版本 6.0 之前。 用于以物理方式存储用户的公共文档存储库的文件系统目录。 典型路径为 C:\Documents 和 Settings\username\My Documents。 这应与命名空间中的虚拟 “我的文档” 文件夹区分开来。 若要访问该虚拟文件夹,请使用 SHGetFolderLocation 返回虚拟位置的 ITEMIDLIST ,或参阅 管理文件系统中所述的技术。
CSIDL_PRINTERS
FOLDERID_PrintersFolder
包含已安装打印机的虚拟文件夹。
CSIDL_PRINTHOOD
FOLDERID_PrintHood
文件系统目录,包含“打印机”虚拟文件夹中可能存在的链接对象。 典型路径为 C:\Documents and Settings\username\PrintHood。
CSIDL_PROFILE
FOLDERID_Profile
版本 5.0。 用户的配置文件文件夹。 典型路径为 C:\Users\username。 应用程序不应在此级别创建文件或文件夹;他们应将其数据置于 CSIDL_APPDATACSIDL_LOCAL_APPDATA引用的位置下。 但是,如果要创建新的已知文件夹,则CSIDL_PROFILE引用的配置文件根目录是合适的。
CSIDL_PROGRAM_FILES
FOLDERID_ProgramFiles
版本 5.0。 Program Files 文件夹。 典型的路径是 C:\Program Files。
CSIDL_PROGRAM_FILESX86
FOLDERID_ProgramFilesX86
CSIDL_PROGRAM_FILES_COMMON
FOLDERID_ProgramFilesCommon
版本 5.0。 跨应用程序共享的组件的文件夹。 典型路径为 C:\Program Files\Common。 仅对 Windows XP 有效。
CSIDL_PROGRAM_FILES_COMMONX86
FOLDERID_ProgramFilesCommonX86
CSIDL_PROGRAMS
FOLDERID_Programs
包含用户程序组的文件系统目录 (它们本身是) 文件系统目录。 典型路径为 C:\Documents and Settings\username\Start Menu\Programs。
CSIDL_RECENT
FOLDERID_Recent
包含用户最近使用的文档的快捷方式的文件系统目录。 典型路径为 C:\Documents and Settings\username\My Recent Documents。 若要在此文件夹中创建快捷方式,请使用 SHAddToRecentDocs。 除了创建快捷方式外,此函数还会更新 Shell 的最近使用的文档列表,并将快捷方式添加到“开始”菜单的“我最近使用的文档”子菜单中。
CSIDL_RESOURCES
FOLDERID_ResourceDir
Windows Vista。 包含资源数据的文件系统目录。 典型路径为 C:\Windows\Resources。
CSIDL_RESOURCES_LOCALIZED
FOLDERID_LocalizedResourcesDir
CSIDL_SENDTO
FOLDERID_SendTo
包含“ 发送到” 菜单项的文件系统目录。 典型路径为 C:\Documents 和 Settings\username\SendTo。
CSIDL_STARTMENU
FOLDERID_StartMenu
包含 “开始” 菜单项的文件系统目录。 典型路径为 C:\Documents and Settings\username\Start Menu。
CSIDL_STARTUP
FOLDERID_Startup
对应于用户的启动程序组的文件系统目录。 每当关联的用户登录时,系统就会启动这些程序。 典型路径为 C:\Documents and Settings\username\Start Menu\Programs\Startup。
CSIDL_SYSTEM
FOLDERID_System
版本 5.0。 Windows“System”文件夹。 典型路径为 C:\Windows\System32。
CSIDL_SYSTEMX86
FOLDERID_SystemX86
CSIDL_TEMPLATES
FOLDERID_Templates
用作文档模板通用存储库的文件系统目录。 典型路径为 C:\Documents 和 Settings\username\Templates。
CSIDL_WINDOWS
FOLDERID_Windows
版本 5.0。 Windows 目录或 SYSROOT。 它与 %windir% 或 %SYSTEMROOT% 环境变量相对应。 典型的路径是 C:\Windows。
标志
CSIDL_FLAG_CREATE
KF_FLAG_CREATE
版本 5.0。 与另一个 CSIDL 结合使用,强制创建关联的文件夹(如果不存在)。
CSIDL_FLAG_DONT_UNEXPAND
KF_FLAG_DONT_UNEXPAND
结合另一个 CSIDL 常量,确保环境变量的扩展。
CSIDL_FLAG_DONT_VERIFY
KF_FLAG_DONT_VERIFY
与另一个 CSIDL 常量( CSIDL_FLAG_CREATE除外)组合,返回未经验证的文件夹路径,无需尝试创建或初始化文件夹。
CSIDL_FLAG_NO_ALIAS
KF_FLAG_NO_ALIAS
结合另一个 CSIDL 常量,确保检索文件夹的真实系统路径,不含 SHGetFolderLocation 返回的任何别名占位符,例如 %USERPROFILE%。 此标志对 SHGetFolderPath 返回的路径没有影响。
CSIDL_FLAG_PER_USER_INIT
CSIDL_FLAG_MASK
任何有效的 CSIDL 标志值的掩码。

备注

这些值取代了用于此目的的环境变量的使用。 它们在 Windows Vista 和更高版本中又被 KNOWNFOLDERID 值取代。

CSIDL 与四个 Shell 函数之一( SHGetFolderLocationSHGetFolderPathSHGetSpecialFolderLocationSHGetSpecialFolderPath)结合使用,以检索特殊文件夹的路径或指向项标识符列表的指针, (PIDL) 。

CSIDL_FLAG_CREATE 与其他任何 CSIDL( CSIDL_FLAG_DONT_VERIFY除外)合并,以强制创建关联的文件夹。 其余 CSIDL 对应于文件系统文件夹或虚拟文件夹。 其中 CSIDL 标识文件系统文件夹,以常用路径为例。 可以使用其他路径。 某些 CSIDL 可以映射到等效的 %VariableName% 环境变量。 但是,CSIDL 更可靠,如果可能,应使用 CSID。

要求

要求
标头
Shlobj.h

请参阅

SHGetFolderLocation

SHGetFolderPath

SHGetSpecialFolderLocation

SHGetSpecialFolderPath

KNOWN_FOLDER_FLAG