为什么下面的代码不能实现拷贝功能??出现"无法读取源文件或者磁盘"的错误
pcwak 2005-05-13 12:11:10 OnCopyFile()
{
CFileDialog mFileDlg(TRUE,NULL,NULL,
OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT ,
"File (*.*)|*.*| |",AfxGetMainWnd());
if (mFileDlg.DoModal() == IDOK)
{
CString strSource,strDestination,strFileName;
strSource=mFileDlg.GetPathName();
strFileName=mFileDlg.GetFileName();
strSource="\""+strSource+"\"";
strDestination=m_strPath+"\\"+strFileName; //m_strPath从别处传来
int nOk;
char strTitle[] = "文件正在拷贝"; //进度条标题
SHFILEOPSTRUCT FileOp;
FileOp.hwnd = m_hWnd;
FileOp.wFunc = FO_COPY; //执行文件拷贝
FileOp.pFrom =strSource.GetBuffer(strSource.GetLength()+1);
FileOp.pTo =strDestination.GetBuffer(strDestination.GetLength()+1) ;
FileOp.fFlags = FOF_ALLOWUNDO;
FileOp.hNameMappings = NULL;
FileOp.lpszProgressTitle = strTitle;
nOk = SHFileOperation(&FileOp);
if(nOk)
MessageBox("文件拷贝失败!!");
else
{
MessageBox("文件拷贝成功!!");
}
if(FileOp.fAnyOperationsAborted)
MessageBox("取消文件拷贝或文件拷贝时失败!!");
}
}