📄 43.txt
字号:
恢复回收站中的文件
在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企业版。
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -