如题
方法/步骤
1、获取目录路径方法1:[cpp]viewplai艘绒庳焰ncopyCStringFullPath;BROWSEINFObi;//BRO友腆取缜WSEINFO结构体TCHARBuffer[512]="";TCHARFullPaths[512]="";bi.hwndOwner=m_hWnd;//m_hWnd你的程序主窗口bi.pidlRoot=NULL;bi.pszDisplayName=Buffer;//返回选择的目录名的缓冲区bi.lpszTitle="请选择BMP文件";//弹出的窗口的文字提示bi.ulFlags=NULL;//BIF_RETURNONLYFSDIRS|BIF_EDITBOX|BIF_BROWSEFORCOMPUTER;//只返回目录。其他标志看MSDNbi.lpfn=NULL;//回调函数,有时很有用bi.lParam=0;bi.iImage=0;ITEMIDLIST*pidl=::SHBrowseForFolder(&bi);//显示弹出窗口,ITEMIDLIST很重要::SHGetPathFromIDList(pidl,FullPaths);//在ITEMIDLIST中得到目录名的整个路径if(FullPaths[0]!=NULL){m_filepath=FullPaths;UpdateData(FALSE);}
2、获取目录路径方法2:[cpp]viewplaincopyTCHARszPath[MAX_PATH]={0};LPITEMIDLISTpitem;BROWSEINFOinfo;::ZeroMemory(&info,sizeof(info));info.hwndOwner=this->m_hWnd;info.lpszTitle=_T("ChoosetheFolder:");info.pszDisplayName=szPath;if(pitem=::SHBrowseForFolder(&info)){::SHGetPathFromIDList(pitem,szPath);m_filepath=szPath;UpdateData(FALSE);}
3、获取文件路径:[cpp]viewplaincopyCFileDialogdlg(TRUE);if(dlg.DoModal()==IDOK){m_filepath=dlg.GetPathName();UpdateData(FALSE);}