MFC 打开一个文件夹

CString m_FileDir;
    BROWSEINFO bi;
    ZeroMemory(&bi, sizeof(BROWSEINFO));
    bi.hwndOwner = m_hWnd;
    bi.ulFlags = BIF_RETURNONLYFSDIRS;
    LPITEMIDLIST pidl = SHBrowseForFolder(&bi);
    BOOL bRet = FALSE;
    TCHAR szFolder[MAX_PATH*2];
    szFolder[0] = _T('\0');
    if (pidl)
    {
        if (SHGetPathFromIDList(pidl, szFolder))
            bRet = TRUE;
        IMalloc *pMalloc = NULL;
        if (SUCCEEDED(SHGetMalloc(&pMalloc)) && pMalloc)
        {
            pMalloc->Free(pidl);
            pMalloc->Release();
        }
    }
    m_FileDir = szFolder;//选择的文件夹路径
    //CEdit* cfolder;
    //cfolder = (CEdit*) GetDlgItem(flidersdit);
    SetDlgItemText(IDC_EDIT_RESULT2,m_FileDir);
    //cfolder->SetWindowText(szFolder);
    

 上面代码是将文件夹地址输出到EDIT 控件中去

 将文件夹打开的打开,只需一句话

ShellExecute(NULL, _T("open"), targetPath, NULL, NULL, SW_SHOW);
//targetPath 例如_T("D:\\")

  

posted @ 2017-05-11 21:21  Henry2017  阅读(442)  评论(0编辑  收藏  举报