代码如下,在执行的时候,运行到nOk=SHFileOperation(&FileOp); 这一句的时候,nok的返回值为1226,为什么呢? 难道是我那个结构SHFILEOPSTRUCT添的不对吗?那位大侠帮忙看看,不甚感激!
**************************************************************************
void CMainFrame::OnFilecopy()
{
// TODO: Add your command handler code here
int nOk;
char strSrc[]="d:\\1.bmp";
//可以改变源路径
char strDst[]="e:\\1.bmp";
//设置目的路径
char strTitle[]="File copying";
//进度题头
SHFILEOPSTRUCT FileOp;
FileOp.hwnd=m_hWnd;
FileOp.wFunc=FO_COPY;
//执行文件拷贝
FileOp.pFrom=strSrc;
FileOp.pTo=strDst;
FileOp.fFlags=FOF_ALLOWUNDO;
FileOp.hNameMappings=NULL;
FileOp.lpszProgressTitle=strTitle;
nOk=SHFileOperation(&FileOp);
if(nOk)
TRACE("There is an error: %d\n",nOk);
else
TRACE("SHFileOperation finished successfully\n");
if(FileOp.fAnyOperationsAborted)
TRACE("Operation was aborted!\n");
}
**************************************************************************
void CMainFrame::OnFilecopy()
{
// TODO: Add your command handler code here
int nOk;
char strSrc[]="d:\\1.bmp";
//可以改变源路径
char strDst[]="e:\\1.bmp";
//设置目的路径
char strTitle[]="File copying";
//进度题头
SHFILEOPSTRUCT FileOp;
FileOp.hwnd=m_hWnd;
FileOp.wFunc=FO_COPY;
//执行文件拷贝
FileOp.pFrom=strSrc;
FileOp.pTo=strDst;
FileOp.fFlags=FOF_ALLOWUNDO;
FileOp.hNameMappings=NULL;
FileOp.lpszProgressTitle=strTitle;
nOk=SHFileOperation(&FileOp);
if(nOk)
TRACE("There is an error: %d\n",nOk);
else
TRACE("SHFileOperation finished successfully\n");
if(FileOp.fAnyOperationsAborted)
TRACE("Operation was aborted!\n");
}
//可以改变源路径
char strDst[MAX_PATH]="e:\\1.bmp";
//设置目的路径
API的要求缓冲为MAX_PATH. 改了就好.