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