• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

[函数]DelphiFMXWindows取得下载Downloads目录

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

在 Firemonkey 提供了一个跨平台的函数 TPath.GetDownloadsPath 来取得该平台的下载目录,但是非常奇怪的是,在 Windows 平台下,取得的下载目录确是:

C:\Users\<username>\AppData\Local (官方文件

而不是

C:\Users\<username>\Downloads

也许 EMB 想的是 App 沙箱做法,但如果想要取得 C:\Users\<username>\Downloads 这个目录该如何做呢?

可以扩展 TPath 功能,参考如下:

unit System.IOUtils.Helper;

interface

uses
  {$IFDEF MSWINDOWS}
  Winapi.Windows,
  Winapi.ShlObj,
  Winapi.KnownFolders,
  {$ENDIF}

  System.IOUtils;

type
  TPathHelper = record helper for TPath
    class function GetWinDownloadsPath: string; static;
  end;

implementation

class function TPathHelper.GetWinDownloadsPath: string;
{$IFDEF MSWINDOWS}
var Path: PWideChar;
begin
     if Succeeded(SHGetKnownFolderPath(FOLDERID_Downloads, 0, 0, Path)) then
          Result := String(Path)
     else Result := '';
end;
{$ELSE}
begin
     Result := '';
end;
{$ENDIF}

end.

使用方法:

uses System.IOUtils.Helper;

var DownloadPsth: String;
begin
  DownloadPath := TPath.GetWinDownloadsPath;
end;

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap