网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Delphi
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.通用图像识别的神经网络代码描述.
.搜索字符串在流中的位置.
.如何让程序出现windows标准对话框.
.Delphi使用ABC.
.delphi代码标准文档.
.Delphi编码标准——文件命名.
.在Delphi中处理数据库日期型字段.
.Delphi与汇编杂谈(2).
.项目迭代开发手记--文件分割存储.
.NT服务程序中对注册表中HKey_Cur.
.delphi2005探讨之二.
.利用未公开函数实现Shell操作监视.
.使用IntraWeb进行Web编程(二).
.Windows消息机制初谈.
.如何实现应用程序中的”回车”成.
.Delphi编程技巧十则.
.原来的控件delphi7里何处寻?.
.古都Delphi.
.Delphi关于线程的消息处理.
.实现StatusBar的Flat风格.

如何取得某些特殊文件夹路径

发表日期:2006-2-4


我的主页: http://www.tommstudio.com/

   在Windows 下有很多的特殊含义的文件夹,如桌面,网上邻居,字体,我的文档,
程序组,最近文档,发送到,开始菜单,启动等,有时可能需要取得这些文件夹
的真正路径。
一种方法是通过读注册表文件,存放在HKEY_CURRENT_USER根下,目录为:
Software\MicroSoft\Windows\CurrentVersion\Explorer
可看到在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;


其中:folderid可以取下面的值:但是请注意,有些是虚的文件夹,不是文件系统
的一部分,所以用SHGetPathFromIDList是取不出路径的,但是在此也列出了。打'*'
号的为不是真正的文件系统,应该用作它用。


CSIDL_BITBUCKET         *   回收站
CSIDL_CONTROLS          *   控制面板
CSIDL_DESKTOP           *   桌面
CSIDL_DESKTOPDIRECTORY      桌面目录       //如C:\WINDOWS\Desktop
CSIDL_DRIVES            *   我的电脑
CSIDL_FONTS                 字体           //如C:\WINDOWS\FONTS
CSIDL_NETHOOD               网上邻居目录   //如C:\WINDOWS\NetHood
CSIDL_NETWORK           *   网上邻居
CSIDL_PERSONAL              我的文档       //如C:\My Documents
CSIDL_PRINTERS          *   打印机
CSIDL_PROGRAMS              程序组         //如C:\WINDOWS\Start Menu\Programs
CSIDL_RECENT                最近文档       //如C:\WINDOWS\Recent
CSIDL_SENDTO                发送到         //如C:\WINDOWS\SentTo
CSIDL_STARTMENU             开始菜单       //如C:\WINDOWS\Start Menu
CSIDL_STARTUP               启动           //如C:\WINDOWS\启动
CSIDL_TEMPLATES             模版           //如C:\WINDOWS\ShellNew



上一篇:控件在运行状态改变大小 人气:3896
下一篇:url编码与解码工具代码 人气:4802
浏览全部Delphi的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐