如何在MFC中獲取打開目錄路徑和文件路徑
獲取目錄路徑方法1```cppCString FullPath;BROWSEINFO bi;TCHAR Buffer[512] L"";TCHAR FullPaths[512] L"";bi.h
獲取目錄路徑方法1
```cpp
CString FullPath;
BROWSEINFO bi;
TCHAR Buffer[512] L"";
TCHAR FullPaths[512] L"";
bi.hwndOwner m_hWnd;
NULL;
Buffer;
bi.lpszTitle L"請選擇BMP文件";
bi.ulFlags NULL; //BIF_RETURNONLYFSDIRS|BIF_EDITBOX|BIF_BROWSEFORCOMPUTER;
bi.lpfn NULL;
bi.lParam 0;
bi.iImage 0;
ITEMIDLIST* pidl ::SHBrowseForFolder(bi);
::SHGetPathFromIDList(pidl, FullPaths);
if (FullPaths[0] ! NULL) {
m_filepath FullPaths;
UpdateData(FALSE);
}
```
獲取目錄路徑方法2
```cpp
TCHAR szPath[MAX_PATH] {0};
LPITEMIDLIST pitem;
BROWSEINFO info;
::ZeroMemory(info, sizeof(info));
info.hwndOwner this->m_hWnd;
info.lpszTitle _T("Choose the Folder: ");
szPath;
if (pitem ::SHBrowseForFolder(info)) {
::SHGetPathFromIDList(pitem, szPath);
m_filepath szPath;
UpdateData(FALSE);
}
```
獲取文件路徑
```cpp
CFileDialog dlg(TRUE);
if (() IDOK) {
m_filepath ();
UpdateData(FALSE);
}
```
在MFC程序開發(fā)中,獲取用戶選擇的目錄路徑和文件路徑是常見的需求。通過以上兩種方法,我們可以輕松實現(xiàn)這一功能。首先,方法一使用`SHBrowseForFolder`和`SHGetPathFromIDList`函數(shù)來讓用戶選擇目錄并獲取路徑,而方法二則是另一種實現(xiàn)方式,同樣可以達到相同的效果。最后,獲取文件路徑則是通過`CFileDialog`對話框來讓用戶選擇文件,并獲取其路徑。這些方法在開發(fā)中能極大地提高用戶體驗,讓用戶方便快捷地選擇目錄和文件路徑。