您的位置:首页 > 其它

MFC如何操纵后台以资源管理器的方式打开文件夹

2013-05-30 08:54 585 查看
     有时候为了在你的MFC程序中方便浏览某个文件夹,而不要总是在我的电脑那边开始找,这时候我们就可以操纵后台以资源管理器的方式打开文件夹,那么如何做呢?

    首先从网上下一份icePubDll.dll文件,然后放进工程的当前目录,然后再调用写语句,代码如下:(我的这些代码是写在某个按钮的响应函数上的,点击那个按钮即可打开你想默认的文件夹)

void DlgInfo::OnBtnOpenFloder()
{
char  path[MAX_PATH];
memset(path,0,MAX_PATH);
GetCurrentDirectory(MAX_PATH,path);

typedef int (WINAPI ICEPUB_OPEN)(char *strPath);
ICEPUB_OPEN *icePub_open = 0;
HINSTANCE hDLLDrv = LoadLibrary("icePubDll.dll");     // 还要 下载此dll文件 ,难道没有这种接口???
if(hDLLDrv)
{
icePub_open = (ICEPUB_OPEN *)GetProcAddress(hDLLDrv, "icePub_open");
}

if(icePub_open != NULL)
{
CString strPSNPath =CString(path)+"\\客户端文件管理\\DownLoadFile\\" + m_strAcct+"\\";
icePub_open(strPSNPath.GetBuffer(strPSNPath.GetLength()));    // icePub_open的参数只可以是绝对路径
}

if(hDLLDrv)
FreeLibrary(hDLLDrv);

}


 

要注意的是我试过了icePub_open参数里头填上当前路径,即不是绝对路径则无法打开,但也不会报错就是了。所以才先获得当前路径,即

char  path[MAX_PATH];

 memset(path,0,MAX_PATH);

 GetCurrentDirectory(MAX_PATH,path);

来获得当前目录,然后 CString strPSNPath =CString(path)+"\\客户端文件管理\\DownLoadFile\\" + m_strAcct+"\\"; 就变成完整的绝对路径,这样便能打开了。

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: