编写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-2025 CNET Networks 版权所有。 ZDNet 是CNET Networks公司注册服务商标。
中华人民共和国电信与信息服务业务经营许可证编号:京ICP证010391号 京ICP备09041801号-159
京公网安备:1101082134