说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

恢复回收站中的文件 -VB资料

HTML文档下载 WORD文档下载 PDF文档下载
恢复回收站中的文件 -VB资料
在VB中恢复删除的文件

  在WIN95下删除文件时,被删文件将自动放入回收站以备恢复时使用。在VB中有一个KILL函数可用来删除文件,但用此函数删除的文件将不会被放入回收站,想恢复时可能就比较困难。笔者经查阅API函数,发现可用SHFileOperation函数来实现这一功能,下面是一个例子,供在程序设计中有需要此功能的读者参考。
  1 此函数需要用到SHFILEOPSTRUCT结构,故首先将此结构和函数在总体声明处声明如下:
  Option Explicit
  rivate Type SHFILEOPSTRUCT
    hwnd As Long
    wFunc As Long
   pFrom As String
   pTo As String
   fFlags As Integer
   fAnyOperationsAborted As Boolean
   hNameMappings As Long
   lpszProgressTitle As String
  End Type

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

  '两个重要的参数值设定
   Private Const FO_DELETE = &H3 '删除文件
   Private Const FOF_ALLOWUNDO = &H40 '允许恢复

  2 在窗体中加一命令按钮Command1,双击之,写如下代码:

  '此处用来删除C:\TMP.TXT文件。
  Private Sub Command1_Click()
  Dim FileOperation As SHFILEOPSTRUCT
  Dim lReturn As Long
  Dim sTempFileName As String
   sTempFileName="c:\tmp.txt"
   With FileOperation
   .wFunc = FO_DELETE
   .pFrom = sTempFileName
   .fFlags = FOF_ALLOWUNDO
   End With
   lReturn = SHFileOperation(FileOperation)
  End Sub

  3 运行此程序,单击命令按钮,将提示是否将TMP文件放入回收站,选择“是”,然后可打开回收站看是否有此文件。

  程序运行环境:中文WIN95、VB 4.0企业版。
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘