您的位置:首页 > 其它

windows 特殊文件夹路径及SHGetSpecialFolderPath 函数使用说明

2011-04-17 23:10 981 查看
首先要在“开始”——“运行”内输入“regedit”打开注册表编辑器,然后要在“文件”下拉菜单中的“导出”功能备份好注册表,以防万一,接着在左侧窗口依次打开:
HKEY_CURRENT_USER/Software/Microsoft/Windows/CurrentVersion/Explorer/Shell Folders
在右侧窗口里,你看到的“名称”就代表那些特殊的文件夹,“数据”就是它们所对应的默认存储路径。修改默认的路径就可以让你的桌面文件夹移动了,下面是所有的.

下面介绍一下各个“名称”所代表的文件夹
名称 含义 默认路径
AppData 应用程序数据目录 C:/Documents and Settings/User name/Application Data
Cookies Cookies路径 C:/Documents and Settings/User name/Cookies
Desktop 桌面路径 C:/Documents and Settings/User name/桌面
Favorites 收藏夹 C:/Documents and Settings/User name/Favorites
NetHood NetHood路径 C:/Documents and Settings/User name/NetHood
Personal 我的文档 C:/Documents and Settings/User name/My Documents
PrintHood 打印 C:/Documents and Settings/User name/PrintHood
Recent 文档项路径 C:/Documents and Settings/User name/Recent
SendTo SendTo路径 C:/Documents and Settings/User name/SendTo
Start Menu 开始菜单路径 C:/Documents and Settings/User name/「开始」菜单
Templates 新建文件目录 C:/Documents and Settings/User name/Templates
Programs 程序菜单路径 C:/Documents and Settings/User name/「开始」菜单/程序
Startup 启动路径 C:/Documents and Settings/User name/「开始」菜单/程序/启动
History 网页历史记录 C:/Documents and Settings/ User name /Local Settings/History
My Pictures 图片收藏 C:/Documents and Settings/User name/My Documents/My Pictures
My Music 我的音乐 C:/Documents and Settings/User name/My Documents/My Music
My Video 我的视频 C:/Documents and Settings/User name/My Documents/My Videos
Cache Internet临时文件夹 C:/ Documents and Settings/User name /Temporary Internet Files

csidl

  CSIDL描述及使用说明:   CSIDL 表示的是windows shell中一个特殊文件夹的标识值。这里说的特殊文件夹指的是由windows shell所定义的文件夹,例如:"我的文档","回收站","Inernet Cache文件夹"就是一些由SHELL指定的特殊文件夹.这些特殊文件夹可以是一个磁盘上的物理路径,也可以是一个虚拟文件夹(Virtual Folder)!   注:Virtual Folder   虚拟文件夹是一个由windows shell定义过的文件夹,但这个文件夹并没有与你的电脑上的任何物理 路径相对应.例如:“我的电脑 ”就是一个包含了所有驱动器的虚拟文件夹,还有如“控制面板”也是一个虚拟文件夹,等等。虚拟文件夹很少应用于非shell函数。   在windows2000/NT中,许多csidl所涉及的文件夹都是针对各个用户的。但类似于CSIDL_COMMON_* 可以供所有用户使用。   在许多应用中,一个CSIDL可以与下面的标识之一进行组合使用:   CSIDL_FLAG_CREATE($8000)   windows 2000:如果这个CSIDL所引用的文件夹不存在,则创建这个文件夹!.   CSIDL_FLAG_DONT_VERIFY($4000)   WINDOWS 2000: 无论这个CSIDL所引用的文件夹是否存在都使用它!   CSIDL_ADMINTOOLS($30)   表示当前用户的“管理工具”系统文件夹   CSIDL_ALTSTARTUP($h1D)   不详   CSIDL_APPDATA($1A)   表示当前用户的特定的应用程序数据存储文件夹,例如:C:/Documents and Settings/username/Application Data   CSIDL_BITBUCKET($A)   表示回收站   CSIDL_COMMON_ADMINTOOLS($2F)   表示所有用户的“管理工具”系统文件夹   CSIDL_COMMON_ALTSTARTUP($1D)   表示所有用户的 (只支持WINDOWS NT 系统)   CSIDL_COMMON_APPDATA($23)   表示所有用户的特定的应用程序数据存储文件夹,例如:C:/Documents and Settings/All Users/Application Data   CSIDL_COMMON_DESKTOPDIRECTORY($19)   表示所有用户的“桌面”文件夹,例如:C:/Documents and Settings/All Users/Desktop。   CSIDL_COMMON_DOCUMENTS($2E)   表示所有用户的“我的文档”文件夹,例如:C:/Documents and Settings/All Users/Documents   CSIDL_COMMON_FAVORITES($1F)   表示所有用户的“我的收藏夹”文件夹。   CSIDL_COMMON_PROGRAMS($17)   表示所有用户的“程序”文件夹,例如:C:/Documents and Settings/All Users/Start Menu/Programs   CSIDL_COMMON_STARTMENU($16)   表示所有用户的“开始菜单”文件夹,例如:C:/Documents and Settings/All Users/Start Menu   CSIDL_COMMON_STARTUP($18)   表示所有用户的“启动”文件夹,例如:C:/Documents and Settings/All Users/Start Menu/Programs/Startup   CSIDL_COMMON_TEMPLATES($2D)   表示所有用户的“模块”文件夹,例如:C:/Documents and Settings/All Users/Templates   CSIDL_CONTROLS($3)   表示“控制面板”文件夹   CSIDL_COOKIES($21)   表示当前用户Internet Explorer的cookie 文件夹,例如:C:/Documents and Settings/username/Cookies   CSIDL_DESKTOP($0)   表示“桌面”虚拟文件夹,包含了计算机中的所有内容   CSIDL_DESKTOPDIRECTORY($10)   表示当前用户的“桌面”文件夹,例如:C:/Documents and Settings/username/Desktop   CSIDL_DRIVES($11)   表示“我的电脑”虚拟文件夹,包含了计算机中所有的驱动器   CSIDL_FAVORITES($6)   表示当前用户的“收藏夹”文件夹,例如:C:/Documents and Settings/username/Favorites   CSIDL_FONTS($14)   表示“系统字体”文件夹,例如:C:/WINNT/Fonts   CSIDL_HISTORY($22)   表示Inernet Explorer的“历史记录”文件夹   CSIDL_INTERNET($1)   表示Internet的这个虚拟文件夹   CSIDL_INTERNET_CACHE($20)   表示当前用户的Internet Explorer的"Cache"文件夹,例如:C:/Documents and Settings/username/Temporary Internet Files   CSIDL_LOCAL_APPDATA($1C)   表示当前用户的应用程序数据文件夹,例如:C:/Documents and Settings/username/Local Settings/Application Data   CSIDL_MYMUSIC   表示当前用户存储音乐文件的文件夹,例如:C:/Documents and Settings/User/My Documents/My Music   CSIDL_MYPICTURES($27)   表示当前用户存储图像文件的文件夹,例如:C:/Documents and Settings/username/My Documents/My Pictures   CSIDL_NETHOOD($13)   表示当前用户存在的网络连接的文件夹,例如:C:/Documents and Settings/username/NetHood   CSIDL_NETWORK($12)   表示“网上邻居”这个虚拟文件夹   CSIDL_PERSONAL($5)   表示当前用户的“我的文档”文件夹,例如:C:/Documents and Settings/username/My Documents   CSIDL_PRINTERS($4)   指向“打印机”这个虚拟文件夹   CSIDL_PRINTHOOD($1B)   表示当前用户存在的网络打印机的虚拟文件夹,例如:C:/Documents and Settings/username/PrintHood   CSIDL_PROFILE($28)   表示当前用用户配置文件的文件夹   CSIDL_PROGRAM_FILES($26)   表示程序文件的文件夹,例如:C:/Program Files   CSIDL_PROGRAM_FILES_COMMON($2B)   表示系统程序共用组件文件夹,例如:C:/Program Files/Common   CSIDL_PROGRAMS($2)   表示当前用户的“程序”菜单文件夹,例如:C:/Documents and Settings/username/Start Menu/Programs   CSIDL_RECENT($8)   表示当前用户的“文档”菜单文件夹,例如:C:/Documents and Settings/username/Start Menu/Programs   CSIDL_SENDTO($9)   表示当前用户的“发送到”文件夹,例如:C:/Documents and Settings/username/SendTo   CSIDL_STARTMENU($B)   表示当前用户的“开始”菜单文件夹,例如:C:/Documents and Settings/username/Start Menu   CSIDL_STARTUP($7)   表示当前用户的“启动”菜单文件夹,例如:C:/Documents and Settings/username/Start Menu/Programs/Startup   CSIDL_SYSTEM($25)   表示WINDOWS系统的系统文件夹,例如:C:/WINNT/SYSTEM32   CSIDL_TEMPLATES($15)   表示的是系统中存储文档模块的文件夹   CSIDL_WINDOWS($24)   表示的是系统中Windows目录的文件珍,例如:C:/WINNT   CSIDL可以在以下API函数中进行操作使用,至于函数的说明,我们可以参照MSDN中的API说明:   SHGetFolderLocation, SHGetFolderPath, SHGetSpecialFolderLocation, SHGetSpecialFolderPath   我们看下面一个例子:   //打开一些特殊的文件夹,需要加上ActiveX,shellapi,shlObj单元   Uses ActiveX, ShellApi, ShlObj;   Function OpenSpecialFolder(Flag:Integer;Handle: HWND = 0):Boolean;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: