牛骨文教育服务平台(让学习变的简单)
博文笔记

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

创建时间:2015-06-10 投稿人: 浏览次数:3491

今天写代码的时候需要一个打开指定文件夹并选中文件的功能,于是乎就度娘了一下,找到了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 egedit.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

声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。