1 NX9+VS2012 2 3 #include <uf.h> 4 #include <uf_ui.h> 5 #include <uf_part.h> 6 #include <atlstr.h> 7 #include <iostream> 8 #include <sstream> 9 10 11 UF_initialize; 12 13 //获取当前part所在路径 14 char part_fspec[MAX_FSPEC_SIZE+1]; 15 UF_PART_ask_part_name(UF_PART_ask_display_part(), part_fspec); 16 17 //转换 18 char new_fspec[256]; 19 sprintf(new_fspec, "/select, %s", part_fspec); 20 21 //打开并选中状态 22 ShellExecute(NULL,"open","Explorer.exe",new_fspec,NULL,SW_SHOWDEFAULT); 23 24 UF_terminate(); 25 26 Caesar卢尚宇 27 2019年7月26日
以下
转载/原文出处https://blog.csdn.net/leehong2005/article/details/8613120#
如何用程序打开一个文件,并选中这个文件夹中指定的文件呢?其实这个功能用得很多。
1.方法一
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 函数:
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 命令。
它的命令如下:
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
这句话执行的效果跟上面方式一与方式二的效果相同。