Delphi 获取系统特殊文件夹位置路径(桌面、收藏夹、我的电脑、开始菜单等)
获取系统中特殊目录,例如:桌面、收藏夹、历史文件、字体等。在windows各版本中他们的位置是不同的,有两个特殊的windows API:
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://网上邻居;
使用示例:(获取桌面路径)
uses shlobj; var pitem:PITEMIDLIST; s:string; begin shGetSpecialFolderLocation(handle,CSIDL_DESKTOP,pitem); setlength(s,100); shGetPathFromIDList(pitem,pchar(s)); end;
更多WinAPI 点击查看: SHGetSpecialFolderLocation 和 SHGetPathFromIDList
创建时间:2020.11.24 更新时间: