Delphi 获取系统特殊文件夹位置路径(桌面、收藏夹、我的电脑、开始菜单等)
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 更新时间:
博客园 滔Roy https://www.cnblogs.com/guorongtao 希望内容对你有所帮助,谢谢!