今天写代码的时候需要一个打开指定文件夹并选中文件的功能,于是乎就度娘了一下,找到了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);
|
本文出自悠然品鉴小悠,转载请注明出处http://www.youranshare.com/codeorg/sid/136.html