15,979
社区成员
发帖
与我相关
我的任务
分享
WINSHELLAPI LPITEMIDLIST WINAPI SHBrowseForFolder(LPBROWSEINFO lpbi);
//获取用户设定的目录
void CSeverDefineDlg::OnBtBrows()
{
BROWSEINFO bi;
char dispname[MAX_PATH], path[MAX_PATH];
ITEMIDLIST * pidl;
bi.hwndOwner = 0;
bi.pidlRoot = 0;
bi.pszDisplayName = dispname;
bi.lpszTitle = "选择文件夹 ";
bi.ulFlags = BIF_RETURNONLYFSDIRS;
bi.lpfn = 0;
bi.lParam = 0;
bi.iImage = 0;
if (pidl = SHBrowseForFolder(&bi)) //弹出文件夹浏览窗口,并选取目录
{
if( SHGetPathFromIDList(pidl, path) == TRUE )
m_strRoot = path ;
else
m_strRoot.Empty();
SetDlgItemText(IDC_ROOTDIR,path);
}
}
wchar_t lpDIR[MAX_PATH] = {0};
LPITEMIDLIST il;
BROWSEINFO bi;
bi.hwndOwner = NULL;
bi.pidlRoot = NULL;
bi.pszDisplayName = lpDIR;
bi.lpszTitle = L"选择目录";
bi.ulFlags = 0;//BIF_BROWSEINCLUDEFILES;
bi.lpfn = NULL;
bi.lParam = 0;
bi.iImage = 0;
il = SHBrowseForFolder(&bi);
SHGetPathFromIDList(il,lpDIR);//得到选定目录
CAboutDlg::SetDlgItemText(IDC_EDIT_PathName,lpDIR);