打开文件夹,并同时选中指定文件

如何用程序打开一个文件,并选中这个文件夹中指定的文件呢?其实这个功能用得很多。

1.方法一

ShellExecute(
    NULL,
    _T("open"),
    _T("Explorer.exe"),
    _T("/select, D:\\a.mp3"),
    NULL,
    SW_SHOWDEFAULT);

打开D盘,并选中a.mp3这个文件。

2.方法二

用 ShellExecuteEx 函数:
HELLEXECUTEINFO shex = { 0 };
shex.cbSize = sizeof(SHELLEXECUTEINFO);
shex.lpFile = _T("explorer");
shex.lpParameters = _T(" /select, D:\\a.mp3");
shex.lpVerb = _T("open");
shex.nShow = SW_SHOWDEFAULT;
shex.lpDirectory = NULL;

ShellExecuteEx(&shex);

其实上面最本质的都是用 explorer 命令。
它的命令如下:

Explorer [/e][,/root,][[,/select],]
/e
   Use Explorer view (scope and results pane view). The default is
   Open view (results in pane view only).
/root
   Specify the object in the "normal" name space that is
   used as the root (top level) of this Explorer/Folder (i.e., local
   path or UNC name). The default is the Desktop).
/Select
   The parent folder opens and the specified object is selected.
      Specify the folder unless /select is used. The
   default is the root. 
   
Explorer /select, C:\Windows\Calc.exe
打开C:\Windows目录,并选中Calc.exe这个文件。
注意 /select后面有一个逗号,这个不要忘记了。

你可以在cmd下面,输出如下命令:
explorer /select, D:\a.mp3
这句话执行的效果跟上面方式一与方式二的效果相同。

你可能感兴趣的:(VC++)