delphi 打开文件所在文件夹并定位到指定文件

7 篇文章 0 订阅
1 篇文章 0 订阅

项目需求:从指定链接下载文件,并打开文件目录
下载部分不多描述
打开文件夹使用如下方法:

ShellExecute(Handle,'explore',pchar('D:/test/Drawing'),nil,nil,SW_SHOWNORMAL);

功能实现比较简单,但是当文件越下越多的时候,用户需要按照修改时间排序或者搜索文件名来找到对应的文件,很不方便。

于是我想到每次使用浏览器下载文件的时候,打开文件位置功能会将下载的文件对应的文件夹打开,同时定位到该文件,所以我决定实现这个功能。
结合windows自带的DOS 命令explorer查找命令规则,查到如下命令
explorer /select,文件路径
我使用我的文件路径试了一下,没有出现想要的效果,直接定位到了当前系统登录用户对应的用户目录,定位指向了“我的文档”
我的命令是这样的:explorer /select,D:/test/Drawing/abc.txt

百思不得其解

仔细看别人写的示例,没有什么区别,差就差在路径的使用的是斜杠/,别人使用的是**反斜杠**,我将斜杠换成反斜杠试了一下,果然成功了。
explorer /select,D:\test\Drawing\abc.txt
然后在代码中实现

ShellExecute(Handle,nil,'explorer',pchar('/select,D:\test\Drawing\abc.txt'),nil,SW_SHOWNORMAL);

齐活了!

想要使用 ShellExecute 函数,需要在文件头引用 ShellAPI

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值