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

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

程序演示


让我们创建一个简单的VB工程来把一个文件发送到回收站里。
要让这个例子象我们设计的那样工作,你需要取消回收站中彻底删除文件的选项,如图A所示。

启动VB并开始一个新的工程。
创建一个module并在里面加入下面的代码:

Option Explicit

Public Type SHFILEOPSTRUCT
hwnd As Long
wFunc As Long
pFrom As String
pTo As String
fFlags As Integer
fAnyOperationsAborted As Long
hNameMappings As Long
lpszProgressTitle As Long
End Type

Public Declare Function SHFileOperation Lib _
"shell32.dll" Alias "SHFileOperationA" (lpFileOp _
As SHFILEOPSTRUCT) As Long

Public Const FO_DELETE = &H3
Public Const FOF_ALLOWUNDO = &H40

在你的表单控件里加入一个命令按纽并把它命名为cmdSendToRecycleBin.

你的屏幕现在看起来应该和图B一样。

在cmdSendToRecycleBin 单击事件处理函数中加入下面的代码:

Dim SHop As SHFILEOPSTRUCT
Dim strFile As String

strFile = App.Path & "hello.txt"

With SHop
.wFunc = FO_DELETE
.pFrom = strFile
.fFlags = FOF_ALLOWUNDO
End With

SHFileOperation SHop

修改strFile=App.Path&"hello.txt"中的文件和位置来对应你所要发送到回收站去的文件。如果这个文件和你的VB工程放在同一个目录下,那么你就不再需要App.Path而只需要修改文件名就行了。按[Ctrl][F5]来运行这个工程。
单击Send To Recycle Bin按纽然后你的屏幕看起来应该如图C一样。选择“是”,然后文件就会被发送到Recycle Bin去了。

使用VB和API的更多乐趣

在这个例子中,我们使用了SHFileOperation API将一个指定的文件发送到回收站,这使得用户能够在必要的时候恢复文件。下一次,我们将察看其它在应用程序开发过程中很有用的API函数--这些函数能够让用户注销,重启或者关闭他们的计算机。

责任编辑:炒饭(Email:zhang_yan@zdnet.com.cn)

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