图老师设计创意栏目是一个分享最好最实用的教程的社区,我们拥有最用心的各种教程,今天就给大家分享如何取得某些特殊文件夹路径的教程,热爱PS的朋友们快点看过来吧!
【 tulaoshi.com - 编程语言 】
我的主页: http://www.tommstudio.com/
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/) 在Windows 下有很多的特殊含义的文件夹,如桌面,网上邻居,字体,我的文档,
程序组,最近文档,发送到,开始菜单,启动等,有时可能需要取得这些文件夹
的真正路径。
一种方法是通过读注册表文件,存放在HKEY_CURRENT_USER根下,目录为:
SoftwareMicroSoftWindowsCurrentVersionExplorer
可看到在shell folder段中存放着上述文件夹所对应的实际物理目录,至于如何
读注册表的操作不再给出,请自行解决。
另一种方法是调用shell函数可以得到相应的目录,但是不是所有在shell folder
目录下的文件夹都可以获得,请注意。
function GetSpecialFolderDir(const folderid:integer):string;
var
pidl:pItemIDList;
buffer:array [ 0..255 ] of char ;
begin
//取指定的文件夹项目表
SHGetSpecialFolderLocation( application.Handle , folderid, pidl);
SHGetPathFromIDList(pidl, buffer); //转换成文件系统的路径
result:=strpas(buffer);
end;
(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)
CSIDL_BITBUCKET * 回收站
CSIDL_CONTROLS * 控制面板
CSIDL_DESKTOP * 桌面
CSIDL_DESKTOPDIRECTORY 桌面目录 //如C:WINDOWSDesktop
CSIDL_DRIVES * 我的电脑
CSIDL_FONTS 字体 //如C:WINDOWSFONTS
CSIDL_NETHOOD 网上邻居目录 //如C:WINDOWSNetHood
CSIDL_NETWORK * 网上邻居
CSIDL_PERSONAL 我的文档 //如C:My Documents
CSIDL_PRINTERS * 打印机
CSIDL_PROGRAMS 程序组 //如C:WINDOWSStart MenuPrograms
CSIDL_RECENT 最近文档 //如C:WINDOWSRecent
CSIDL_SENDTO 发送到 //如C:WINDOWSSentTo
CSIDL_STARTMENU 开始菜单 //如C:WINDOWSStart Menu
CSIDL_STARTUP 启动 //如C:WINDOWS启动
CSIDL_TEMPLATES 模版 //如C:WINDOWSShellNew
来源:http://www.tulaoshi.com/n/20160219/1624501.html
看过《如何取得某些特殊文件夹路径》的人还看了以下文章 更多>>