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

来源:互联网 发布:淘宝护肤品店铺排行 编辑:程序博客网 时间:2024/06/04 19:04

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

                                             

      这个方法很简单,实际上是在C++代码中调用了windowsshell命令“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("<span id="2_nwp" style="width: auto; height: auto; float: none;"><a id="2_nwl" href="http://cpro.baidu.com/cpro/ui/uijs.php?app_id=0&c=news&cf=1001&ch=0&di=128&fv=17&is_app=0&jk=f2f2aa297e22240a&k=open&k0=open&kdi0=0&luki=1&n=10&p=baidu&q=80007180_cpr&rb=0&rs=1&seller_id=1&sid=a24227e29aaf2f2&ssp2=1&stid=0&t=tpclicked3_hc&tu=u1925163&u=http%3A%2F%2Fwww%2Eyouranshare%2Ecom%2Fcodeorg%2Fsid%2F136%2Ehtml&urlid=0" target="_blank" mpid="2" style="text-decoration: none;"><span style="color:#0000ff;font-size:16px;width:auto;height:auto;float:none;">open</span></a></span>");
shex.nShow = SW_SHOWDEFAULT;
shex.lpDirectory = NULL;
ShellExecuteEx(&shex);


本文出自悠然品鉴小悠,转载请注明出处http://www.youranshare.com/codeorg/sid/136.html

0 0