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爲文件夾路徑