C++打开浏览目录返回所选择的目录路径

来源:互联网 发布:手机直播声音软件 编辑:程序博客网 时间:2024/05/21 21:41

 

/******************************************************************************************************/
//Name:      getDirector;
//Describe:
//        弹出标准系统文件目录框.供用户选择目录.
//        传入弹出框的标题:
//        返回用户选择的目录.
// Subject: C++
// Add Date :2007.12.13
/******************************************************************************************************/

 String CFristCDlg::getDirector(CString title)


{
 ITEMIDLIST *ppidl;
 SHGetSpecialFolderLocation(NULL, CSIDL_DESKTOP ,&ppidl);
 if ( ppidl == NULL)
 {
 AfxMessageBox(_T("启动路径浏览失败") ) ;
 return _T("error");
 }
 TCHAR path[255] = _T("");
 BROWSEINFO *bi=new BROWSEINFO;
 bi->hwndOwner=NULL;
 bi->pidlRoot=ppidl;
 bi->pszDisplayName=NULL;
 bi->lpszTitle=title;
 bi->lpfn=NULL;
 bi->ulFlags=/*BIF_BROWSEINCLUDEFILES|*/BIF_EDITBOX |BIF_RETURNONLYFSDIRS ;
 ppidl = SHBrowseForFolder(bi);
 if ( !SHGetPathFromIDList(ppidl,path) )
 {
 delete bi;
 return _T("error") ;
 }
 delete bi;
 CString s = path ;
 if ( s.Right( 1 ) != _T("//") )
 s+= _T("//") ; 
 return s ;
原创粉丝点击