Function SHGetSpecialFolderLocation(hwndOwner: HWND; nFolder: Integer; var ppidl: PItemIDList): HResult; stdcall; Function SHGetPathFromIDList(pidl: PItemIDList; pszPath: PChar): BOOL;stdcall; 其中由nFolder参数指定的就是各个特殊系统目录: CSIDL_DESKTOP:毫无疑问这就是桌面; CSIDL_DRIVERS:个人电脑; CSIDL_FAVORITES:收藏夹; CSIDL_STARTUP:开始菜单; CSIDL_NETWORK:网上邻居; 还有不少,你能够查阅一下Delphi的Win32 Api函数的帮助文件,不过在帮助文件下的这些参数也不是很全,像收藏夹帮助文件里面就没有,你能够查阅一下它的头文件:shlobj.pas。 下面我就利用这两个函数取得桌面的路径(在win98和win2000下均可以使用): uses shlobj; var pitem:PITEMIDLIST; s:string; begin shGetSpecialFolderLocation(handle,CSIDL_DESKTOP,pitem); setlength(s,100); shGetPathFromIDList(pitem,pchar(s)); end; 在字符串s中存储的就是桌面的路径值。