void CMyDlg::Open(CString&filename)
{
BROWSEINFO bi;
char buffer[MAX_PATH];
ZeroMemory(buffer, MAX_PATH);
bi.hwndOwner = GetSafeHwnd();
bi.pidlRoot = NULL;
bi.pszDisplayName = buffer;
bi.lpszTitle = "选择一个文件夹";
bi.ulFlags = BIF_EDITBOX;
bi.lpfn = NULL;
bi.lParam = 0;
bi.iImage = 0;
char path[MAX_PATH];
LPITEMIDLIST pList = NULL;
//打开数据文件夹
if ((pList = SHBrowseForFolder(&bi)) != NULL)
{
ZeroMemory(path, MAX_PATH);
SHGetPathFromIDList(pList, path); //path就是選中的目錄
filename = path;
}
}
在Mydlg类中添加函数void Open(CString&filename),源代码如上。
使用时,定义CString mPath;
Open(mPath);//打开数据文件夹mPath为文件夹路径