首页/技术开发/内容

模拟Windows的资源回收站

技术开发2024-06-12 阅读()
您现在将屏幕上所有的视窗全部缩小,找到资源回收站,按鼠标右键,选择【属性】,便会出现【资源回收站】的属性问话框。


其中有几个选项如下:

1、不要将文件移到资源回收站,删除时立即移除文件。
2、显示删除确认对话框?

根据以上之状况,文件之删除有三种情形:

1、删除文件,出现确认对话框,文件移到资源回收站。
2、删除文件,出现确认对话框,文件不移到资源回收站。
3、删除文件,不出现确认对话框,文件也不移到资源回收站。

模拟程序如下:

′在模组的声明区中加入以下声明:

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 ′可以还原
Public Const FOF_NOCONFIRMATION = &H10 ′不出现确认对话框
Public Const FOF_SILENT = &H4

′在程序中之使用方法如下:
′以下之例子会出现确认对话框,文件也会移到资源回收站。 Private Sub Command1_Click()
Dim SHop As SHFILEOPSTRUCT
Dim strFile As String ′要删除的文件(含全路径)
strFile = "c:\test.txt"

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

SHFileOperation SHop
End Sub

′若要调整,只要更改 fFlags 之值即可,如下:
.fFlags = FOF_SILENT ′删除文件,出现确认对话框,文件不移到资源回收站。
.fFlags = FOF_NOCONFIRMATION ′删除文件,不出现确认对话框,文件也不移到资源回收站。

……

相关阅读