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相关命令的参数了。
&
本文介绍了如何利用C++的ShellExecute函数,正确地打开目标文件所在文件夹并同时选中目标文件。通过调整代码和理解Explorer命令参数,解决了直接打开文件而非文件夹的问题。关键在于使用'/select'参数配合完整路径,确保在资源管理器中选中指定文件。同时,为避免路径中空格引起的解析错误,建议用双引号包裹路径。
订阅专栏 解锁全文
2877

被折叠的 条评论
为什么被折叠?



