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:\\")