- void OnXXXBrowse()
- {
- CString strFolderPath;
- BROWSEINFO broInfo = {0};
- TCHAR szDisName[MAX_PATH] = {0};
-
- broInfo.hwndOwner = this->m_hWnd;
- broInfo.pidlRoot = NULL;
- broInfo.pszDisplayName = szDisName;
- broInfo.lpszTitle = _T(“选择保存路径”);
- broInfo.ulFlags = BIF_NEWDIALOGSTYLE | BIF_DONTGOBELOWDOMAIN
- | BIF_BROWSEFORCOMPUTER | BIF_RETURNONLYFSDIRS | BIF_RETURNFSANCESTORS;
- broInfo.lpfn = NULL;
- broInfo.lParam = NULL;
- broInfo.iImage = IDR_MAINFRAME;
- LPITEMIDLIST pIDList = SHBrowseForFolder(&broInfo);
- if (pIDList != NULL)
- {
- memset(szDisName, 0, sizeof(szDisName));
- SHGetPathFromIDList(pIDList, szDisName);
- strFolderPath = szDisName;
- }
- }
浏览保存文件
[cpp] view plain copy
1. void BrowseSaveFile()
2. {
3. LPCTSTR szFilter = _T(“puk files(.puk)|.puk||”);
4.
5. // CFileDialog的第一个参数标明是浏览还是保存
6. CFileDialog dlg(TRUE, NULL, NULL, OFN_FILEMUSTEXIST | OFN_HIDEREADONLY, szFilter);
7. if (dlg.DoModal() == IDOK)
8. {
9. CString fileName = dlg.GetPathName();
10. }
11. }
获取当前路径
[cpp] view plain copy
1. void GetCurPath()
2. {
3. CString strCurPath; // 不包含文件名的全路径
4. GetModuleFileName(NULL, strCurPath.GetBufferSetLength(MAX_PATH + 1), MAX_PATH);
5. strCurPath.ReleaseBuffer();
6. int nPos = strCurPath.ReverseFind(‘\’);
7. strCurPath = strCurPath.Left(nPos + 1);
8. }