C++使用ShellExecute实现打开目标文件所在文件夹并选中目标文件

本文介绍了如何利用C++的ShellExecute函数,正确地打开目标文件所在文件夹并同时选中目标文件。通过调整代码和理解Explorer命令参数,解决了直接打开文件而非文件夹的问题。关键在于使用'/select'参数配合完整路径,确保在资源管理器中选中指定文件。同时,为避免路径中空格引起的解析错误,建议用双引号包裹路径。
摘要由CSDN通过智能技术生成

        ShellExecute很常用,我们可以使用它调用另外一个exe可执行程序,也可以使用它来打开指定的目录或文件。本文主要讨论如何通过ShellExecute来打开目标文件所在文件夹并选中目标文件。

       刚开始尝试用下面的代码实现想要的功能:

	CString str = _T("E:\\TestDir\\test.txt"); 
	ShellExecute( NULL, _T("open"), _T("explorer.exe"), str, NULL, SW_SHOWNORMAL );

但是没有达到预定的效果,而是直接将指定的文件打开了,我只想打开指定文件所在的目录并选中该文件。通过查阅网上相关话题,应使用如下的代码:

    CString str = _T("/select, E:\\TestDir\\test.txt");   
    ShellExecute( NULL, _T("open"), _T("explorer.exe"), str, NULL, SW_SHOWNORMAL );  

         当打开指定的目录或文件会使用explorer.exe资源管理器,就需要了解Explorer相关命令的参数了。

         命令格式
   Explorer [/n][/e][[,/root],[path]][[,/select],[path filename]]

   参数说明
  /n表示以“我的电脑”方式打开一个新的窗口,通常打开的是Windows安装分区的根目录。
  /e表示以“资源管

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

dvlinker

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值