//用户自定义路径
//
void CPMAgentManageDlg::OnCheckSavefile()
{
// TODO: Add your control notification handler code here
CString str,m_Path;
BROWSEINFO bi;
char name[MAX_PATH];
ZeroMemory(&bi,sizeof(BROWSEINFO));
bi.hwndOwner=GetSafeHwnd();
bi.pszDisplayName=name;
bi.lpszTitle="选择日志文件要保存的文件夹:";
LPITEMIDLIST idl=SHBrowseForFolder(&bi);
if(idl==NULL) return;
SHGetPathFromIDList(idl,str.GetBuffer(MAX_PATH));
str.ReleaseBuffer();
m_Path=str;
UpdateData(true);
if(str.GetAt(str.GetLength()-1)!='\\') m_Path+="\\";
/* m_FilePath=m_Path;*/ //m_Path就是用户选择的要保存的路径
UpdateData(false);
}
方法二:
char tmp[1024];
CTime curTime = CTime::GetCurrentTime();
sprintf(tmp,"log_%4d%02d%02d.log",curTime.GetYear(),curTime.GetMonth(),curTime.GetDay());
string sPath = tmp;
CFileDialog dlg( FALSE, _T( "txt" ), _T(tmp), OFN_OVERWRITEPROMPT|OFN_HIDEREADONLY, _T( "log文件|*.log|所有文件|*||" ) );
dlg.m_ofn.lpstrTitle=_T("日志信息保存为log文件");
if ( dlg.DoModal() == IDOK )
{
bFile = TRUE;
folderName = dlg.GetPathName(); //用户自定义的路径
string sSour = lpTempLogFilePath;
string sDest = folderName;
FileCopyTo(sSour,sDest,TRUE);
}
else
{
m_cFileButton.SetCheck(FALSE);
return;
}