博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用ShellExecute打开目标文件所在文件夹并选中目标文件
阅读量:6526 次
发布时间:2019-06-24

本文共 1053 字,大约阅读时间需要 3 分钟。

转载:

转载:

 

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表示以“资源管理器”方式打开一个新的窗口,通常打开的也是Windows安装分区的根目录。
  /root,[path]表示打开指定的文件夹,/root表示只显示指定文件夹下面的文件(夹),不显示其它磁盘分区和文件夹;[path]表示指定的路径。如果不加/root参数,而只用[path]参数,则可以显示其它磁盘分区和文件夹中的内容。另外,[path]还可以指定网络共享文件夹。
  /select,[path filename]表示打开指定的文件夹并且选中指定的文件,[path filename]表示指定的路径和文件名。如果不加/select参数,则系统会用相应的关联程序打开该文件。如果[path filename]不跟文件名就会打开该文件夹的上级目录并选中该文件夹。(注意:“/select”参数后面的逗号不能丢)

 

注意:当路径中包含空格时可能会导致ShellExecute参数解析错误,所以最好是给路径加上双引号!

你可能感兴趣的文章
scala001
查看>>
android - SpannableString或SpannableStringBuilder以及string.xml文件中的整型和string型代替...
查看>>
自己选择的路,跪着走完吧——一个兔纸的话
查看>>
三端稳压器各个参数解释
查看>>
算法(Algorithms)第4版 练习 1.3.14
查看>>
virtual PC 打造IE6、IE7、IE8、IE9等多版本共存原版测试环境
查看>>
js面向对象1
查看>>
内部类
查看>>
高速数论变换(NTT)
查看>>
Springmvc的跳转方式
查看>>
加密原理介绍,代码实现DES、AES、RSA、Base64、MD5
查看>>
LINUX中常用操作命令
查看>>
python 获取进程pid号
查看>>
链表中插入一个节点的三种情况
查看>>
洛谷.4180.[模板]次小生成树Tree(Kruskal LCA 倍增)
查看>>
TCL函数“参数自动补全” 与 “help 信息显示”
查看>>
POJ1050To the Max
查看>>
汇编基础--标识符、标号、伪指令和指令
查看>>
泥鳅般的const(一个小Demo彻底搞清楚)
查看>>
event.srcElement获得引发事件的控件(表单)
查看>>