编写VB程序使得被删除的文件能够恢复

ZDNet软件频道 时间:2002-02-05 作者:ZDNET CHINA 特稿 |  我要评论()
本文关键词:
如果你要编写VB程序来删除不需要的文件,最简单的方法就是用Kill函数,可惜这是一张单程车票。如果用户不小心删除了文件,就没有办法挽回了。你可以用另外一种方法把要删除的文件发送到回收站,下面让我们看这是怎么工作的。

 

 

 

结构体的元素

表A描述了SHFILEOPSTRUCT结构体中的每一个元素,将文件送到回收站需要设置两个选项:FO_DELETE 和FO_ALLOWUNDO

表A

元素 描述/可能值
hwnd 显示文件操作当前状态的窗口的句柄
wFunc

文件操作的类型:
FO_COPY--将pFrom成员中指定的文件拷贝到pTo成员变量中指定的位置
FO_DELETE--删除pFrom成员变量中指定的文件
FO_MOVE--将pFrom成员中指定的文件移动到pTo成员变量中指定的位置
FO_RENAME--重命名pFrom中指定的文件

pFrom 保存源文件名的缓冲区的首地址,多个文件名必须是用空字符隔开的,名字的列表必须用两个空字符隔开,
pTo 一个保存目标文件名或者路径的缓冲区的首地址,当fFlages成员变量被设置成FOF_MULTIDESTFILES的时候,这个缓冲区可以存放多个目标文件名,多个文件名必须是用空字符隔开的,名字的列表必须用两个空字符隔开
fFlag 控制文件操作的标记变量,可以同时使用多个标记:
FOF_ALLOWUNDO--保留撤消操作的信息
FOF_FILESONLY--只有在使用通配符(*.*)的时候才对文件进行操作
FOF_MULTIDESTFILES--pTo成员变量指定的是多个目标文件(每个源文件对应一个)而不仅仅是一个所有文件共用的目标目录
FOF_NOCONFIRMATION--对于所有显示的对话框都回答“是”
FOF_NOCONFIRMMKDIR--当需要创建一个新目录的时候不做任何询问
FOF_NOERRORRUI--当错误发生时不显示任何用户界面
FOF_RENAMEONCOLLISION--当目标文件已经存在是为移动,拷贝或者一个重命名操作的文件提供一个新的文件名
FOF_SILENT--不显示一个进度对话框
FOF_SIMPLEPROGRESS--显示一个进度对话框但不显示文件名
FOF_WANTMAPPINGHANDLE--如果FOF_RENAMEONCOLLISION 已经被指定,那么当任何文件被重命名的时候hNameMappings都会被填入相应的数据
fAnyOperationsAborted 当用户撤消了一个文件操作的时候会收到一个True否则就是False
hNameMappings 包含了一个SHNAMEMAPPING结构数组的文件名映射对象的句柄,每个结构包含了每个被移动,拷贝或者重命名的文件的老的和新的路径,只有在使用了FOF_WANTMAPPINGHANDLE标记的时候它才会有用,获得的句柄必须使用SHFreeNameMappings函数加以释放
lpszProgressTitle 作为进度对话框的标题的字符串的地址,只有在fFlags包含了FOF_SIMPLEPROGRESS标记的时候才能使用,

 


百度大联盟认证黄金会员Copyright© 1997- CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134