C++打开文件夹并选中指定文件

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

1.方法一

[cpp]  view plain  copy
  1. ShellExecute(  
  2.     NULL,  
  3.     _T("open"),  
  4.     _T("Explorer.exe"),  
  5.     _T("/select, D:\\a.mp3"),  
  6.     NULL,  
  7.     SW_SHOWDEFAULT);  

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

2.方法二

用 ShellExecuteEx 函数:
[cpp]  view plain  copy
  1. HELLEXECUTEINFO shex = { 0 };  
  2. shex.cbSize = sizeof(SHELLEXECUTEINFO);  
  3. shex.lpFile = _T("explorer");  
  4. shex.lpParameters = _T(" /select, D:\\a.mp3");  
  5. shex.lpVerb = _T("open");  
  6. shex.nShow = SW_SHOWDEFAULT;  
  7. shex.lpDirectory = NULL;  
  8.   
  9. ShellExecuteEx(&shex);  

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

[plain]  view plain  copy
  1. Explorer [/e][,/root,<object>][[,/select],<sub object>]  
  2. /e  
  3.    Use Explorer view (scope and results pane view). The default is  
  4.    Open view (results in pane view only).  
  5. /root<object>  
  6.    Specify the object in the "normal" name space that is  
  7.    used as the root (top level) of this Explorer/Folder (i.e., local  
  8.    path or UNC name). The default is the Desktop).  
  9. /Select  
  10.    The parent folder opens and the specified object is selected.  
  11.    <sub object>   Specify the folder unless /select is used. The  
  12.    default is the root.  

Explorer /select, C:\Windows\Calc.exe
打开C:\Windows目录,并选中Calc.exe这个文件。
注意 /select后面有一个逗号,这个不要忘记了。

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

转自:http://blog.csdn.net/leehong2005/article/details/8613120

猜你喜欢

转载自blog.csdn.net/caichengji1/article/details/77527425