呵..又要得分了,要获得系统的一些文件夹可在uses之后声明此函数:
Function SHGetSpecialFolderPath(hwndOwner:Integer;pPath:Pchar;nFolder:Integer;bCreat:Boolean):integer;stdcall;external 'Shell32.dll' name 'SHGetSpecialFolderPathA';
调用:
var ppath:Pchar;itmp:myaddress
begin
  ppath:=StrAlloc(MAX_PATH);
  SHGetSpecialFolderPath(0,ppath,itmp,false);
  //ppath为特定文件夹的位置,可在此读取
  StrDispose(ppath);
  {itmp为想要的特定文件夹位置信息含义如下(TMD,当年我可是一个个Try出来的):
 0桌面;2程序组;5我的文档;6收藏夹;7启动组;8文档记录;9发送到;11开始菜单;19网络连接;27打印机连接;20字体;21模板;32Internet临时文件;33Cookies文件;34历史;26快速启动组;38程序文件夹;39我的图片;13我的音乐;14我的视频;28本地设置;48管理工具;40用户配置文件;22公共启动菜单;23公共程序组;24公共启动组;25公共桌面;35公共快速启动;47公共管理工具;46公共文档;31公共收藏夹;45公共模板;43公共文件夹;这是在2K下做的,98下部分会无效,XP下新出的玩意没试过,抛砖引玉吧!
  }
另外  getWindowsDirectory、GetTempPath、GetSystemDirectory三个API可直接得到windows、Temp、和System的文件夹位置