网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VC++ > 正文
VC++实现Windows回收站的文件存取
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式
HFileOperation()函数返回正处于操作状态的实际文件列表,文件列表名柄保存在hNameMappings成员中。

  SHFILEOPSTRUCT结构还包含一个SHNAMEMAPPING结构的数组,此数组保存由SHELL计算的每个处于操作状态的文件的新旧路径。

  在使用该函数删除文件时必须设置SHFILEOPSTRUCT结构中的神秘FOF_ALLOWUNDO标志,这样才能将待删除的文件拷到Recycle Bin,从而使用户可以撤销删除操作。需要注意的是,如果pFrom设置为某个文件名,用FO_DELETE标志删除这个文件并不会将它移到Recycle Bin,甚至设置FOF_ALLOWUNDO标志也不行,在这里你必须使用全路径名,这样SHFileOperation才会将删除的文件移到Recycle Bin。

  二、编程步骤

  1、 启动Visual C++6.0,生成一个单文档视图的项目FileDelete;

  2、为项目添加一个菜单ID_FileDelete,然后用Visual C++的Class Wizard为其在视图类新增消息处理函数OnFileDelete();

  3、添加代码,编译运行程序;

  三、程序代码

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

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号