科技时代新浪首页 > 科技时代 > 学园 > 正文

VC++实现Windows系统回收站的文件存取(2)


http://www.sina.com.cn 2006年01月18日 07:43 天极yesky

    三、程序代码

///////////////////////////////////////////////////////////////////////
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的自身文件处理过程是一致的,这大大地有利于我们开发的应用程序与操作系统保持高度的一致性。

[上一页] [1] [2]

发表评论

爱问(iAsk.com)



评论】【论坛】【收藏此页】【 】【多种方式看新闻】【下载点点通】【打印】【关闭




科技时代意见反馈留言板 电话:010-82628888-5595   欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

Copyright © 1996 - 2006 SINA Inc. All Rights Reserved

版权所有 新浪网