1. Select File
CFileDialogDlg(true, NULL, NULL, NULL, "All Files | *.*", This);
if (IDOK == Dlg. DoModal())
{
MessageBox(Dlg .GetPathName(), _t("" ));
}
2. Select Folder
Browseinfo Bi ; //Browseinfo structural body
TCHAR Buffer [+] = "";
TCHAR FullPath [+] = "";
Bi.hWndOwner = m_hwnd; //M_hwnd Program main window
Bi.Pidlroot = NULL;
Bi.pszDisplayName = Buffer; //Returns the buffer of the selected directory name
Bi.Lpsztitle = "Selection"; //pop-up window with text hints
Bi.ulflags = Bif_returnonlyfsdirs ; //returns only the directory. Other signs See MSDN
Bi.LPFN = NULL; //callback function, sometimes useful
Bi.LParam = 0;
Bi.IImage = 0;
itemidlist* Pidl = ::SHBrowseForFolder (& Bi); //Show pop-up window, itemidlist is important
if (::SHGetPathFromIDList (Pidl, FullPath)) //Get the entire path of the directory name in Itemidlist
{
//Success
}
Else
{
//Failure
}This article uses Chrysanthemum Zi Yue to publish
VC Open dialog box select files and folders