mfc 获取文件夹路径‘
时间: 2023-10-10 09:08:40 浏览: 194
要获取 MFC 应用程序中的文件夹路径,可以使用 CFileDialog 类或 SHBrowseForFolder 函数,具体步骤如下:
1. 使用 CFileDialog 类选择文件夹路径。
例如,可以使用 CFileDialog::DoModal() 函数弹出对话框,让用户选择文件夹路径,然后将该路径保存到一个 CString 类型的变量中。
```c++
CFileDialog dlg(TRUE, NULL, NULL, OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT, _T("Folder|*.*||"), NULL);
if (dlg.DoModal() == IDOK) {
CString folderPath = dlg.GetPathName();
}
```
注意:这里的对话框类型为 TRUE,表示选择的是文件夹路径,而不是文件路径。
2. 使用 SHBrowseForFolder 函数选择文件夹路径。
例如,可以使用以下代码弹出对话框,让用户选择文件夹路径,然后将该路径保存到一个 CString 类型的变量中。
```c++
BROWSEINFO bi = { 0 };
bi.lpszTitle = _T("Select Folder");
LPITEMIDLIST pidl = SHBrowseForFolder(&bi);
if (pidl != NULL) {
TCHAR path[MAX_PATH];
if (SHGetPathFromIDList(pidl, path)) {
CString folderPath = path;
}
CoTaskMemFree(pidl);
}
```
注意:这里使用了 SHGetPathFromIDList 函数将 LPITEMIDLIST 类型的 IDList 转换为字符串类型的文件夹路径。
需要添加头文件 `#include <ShlObj.h>`。
阅读全文
相关推荐
















