三、程序代码
///////////////////////////////////////
void CFileOperationView::OnFileDelete()
{
int nOk;
char strSrc[]="d:\\Vb\0";//源文件路径;
char strDst[]="d:\\Vb1\0";//目标文件路径;
char strTitle[]="文件拷贝"; //文件删除进度对话框标题
SHFILEOPSTRUCT FileOp;//定义SHFILEOPSTRUCT结构对象;
FileOp.hwnd=this->m_hWnd;
FileOp.wFunc=FO_DELETE; //执行文件删除操作;
FileOp.pFrom=strSrc;
FileOp.pTo=strDst;
FileOp.fFlags=FOF_ALLOWUNDO;//此标志使删除文件备份到Windows回收站
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");
}
四、小结
在Visual C++编程中实现文件的操作是很多应用程序要涉及到的内容,解决这个问题的一般方法是直接利用CFile 类的操作成员函数,这种方法对于广大Visual C++编程爱好者来说已经耳熟能详了,其实使用我们上文介绍的方法,利用Win32外壳来实现拷贝、更名、移动、删除等各种文件操作将更加高效、快捷,值得一提的是该方法不仅具有上述功能,它还直接支持对一个目录或目录树进行操作。同时该方法直接调用Windows操作系统中的外壳,它的处理过程与 Windows的自身文件处理过程是一致的,这大大地有利于我们开发的应用程序与操作系统保持高度的一致性。
