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中存儲的就是桌面的路徑值。