今天写代码的时候需要一个打开指定文件夹并选中文件的功能,于是乎就度娘了一下,找到了2中方法,遂记之以留后用,这里也顺便给大家分享一下.

这个方法很简单,实际上是在C++代码中调用了windows的shell命令“explorer” ,例如下面我在控制台下通过这个命令打开C盘的Windows文件夹并且选中regedit.exe文件.
我使用命令 explorer /select,C:Windowsregedit.exe (注意斜杠的方向!注意中间的逗号)

可以看到执行命令后regedit.exe所在的文件夹被打开,并且regedit.exe文件被选中了.
OK,既然知道了这个命令,我们就来直接通过C++代码调用这个Shell命令吧,以打开并选中C:Windowsregedit.exe为例子,直接上代码:
方法一,使用函数ShellExecute:
|
1
2
3
4
5
6
7
|
ShellExecute( NULL, _T("open"), _T("Explorer.exe"), _T("/select, C:\Windowsregedit.exe"), NULL,SW_SHOWDEFAULT); |
方法二,用 ShellExecuteEx 函数:
|
1
2
3
4
5
6
7
8
|
HELLEXECUTEINFO shex = { 0 };shex.cbSize = sizeof(SHELLEXECUTEINFO);shex.lpFile = _T("explorer");shex.lpParameters = _T(" /select, C:\Windows\regedit.exe ");shex.lpVerb = _T("open");shex.nShow = SW_SHOWDEFAULT;shex.lpDirectory = NULL;ShellExecuteEx(&shex); |
本文介绍两种使用C++代码打开指定文件夹并选中特定文件的方法。一种是通过ShellExecute函数,另一种是使用ShellExecuteEx函数实现。
327

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



