環境:vc6.0開發環境:
//彈出儲存檔案對話框:
void OnBrowseSaveFile()
{
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;
}
}
//浏覽檔案
void OnOpenFile()
{
LPCTSTR szFilter = _T("All Files (*.*)|*.*;|(*.cpp)|*.cpp;|(*.h)|*.h||");
// CFileDialog的第一個參數标明是浏覽還是儲存
CFileDialog dlg(TRUE, NULL, NULL, OFN_FILEMUSTEXIST | OFN_HIDEREADONLY, szFilter);
if (dlg.DoModal() == IDOK)
{
CString fileName = dlg.GetPathName(); //檔案路徑資訊
}
}
//擷取exe運作的所在路徑
void GetCurPath()
{
CString strCurPath; // 不包含檔案名的全路徑
GetModuleFileName(NULL, strCurPath.GetBufferSetLength(MAX_PATH + 1), MAX_PATH);
strCurPath.ReleaseBuffer();
int nPos = strCurPath.ReverseFind('\\');
strCurPath = strCurPath.Left(nPos + 1);
}
好了,今天就介紹到這裡,希望讀者不懂的地方可以聯系我,或者哪裡寫錯了也一定要指出告訴我,呵呵 新浪郵箱:[email protected]