|
如何清空回收站
我们要如何在 VB 中来清空回收站中的文件呢?
在进入主题之前,必須先告訴大家,在您清空回收站进,系統会自动更改回收站的图标变成空桶图标,所以,进行中若有错误发生,您还必須还原回收站的图标!
清空回收站,我们使用 API SHEmptyRecycleBin Function
还原回收站的图标,则是使用 API SHUpdateRecycleBinIcon Function
在声明区中加入以下声明:
Public Const SHERB_NOCONFIRMATION = &H1
Public Const SHERB_NOPROGRESSUI = &H2
Public Const SHERB_NOSOUND = &H4
Declare Function SHEmptyRecycleBin Lib "shell32.dll" Alias "SHEmptyRecycleBinA" _
(ByVal hwnd As Long, ByVal pszRootPath As String, ByVal dwFlags As Long) As Long
Declare Function SHUpdateRecycleBinIcon Lib "shell32.dll" () As Long
参数说明如下:
hwnd:某一个 Window 的 Handle
pszRootPath:回收站路径(不一定是根目录),如果使用空字串,则表示要清空所有回收站。
dwFlags:0 或是使用以下之常数:
SHERB_NOCONFIRMATION:表示不显示确定窗口
SHERB_NOPROGRESSUI:表示不显示清空回收站的动画窗口 (经检测98原本已不会发生动画)
SHERB_NOSOUND:表示清空回收站之后不发生声音
Private Sub Command2_Click()
Dim retval As Long ' return value
' 清空所有回收站, 不确定
retval = SHEmptyRecycleBin(Form1.hwnd, "", SHERB_NOCONFIRMATION)
' 若有错误讯息发生,则恢复回收站的图标
' 其实這一点不是很需要
If retval <> 0 Then ' error
retval = SHUpdateRecycleBinIcon()
End If
End Sub
注意:以上的功能有以下 OS 本身及 IE 版本的限制
Windows 95 必須安裝 IE 4.0 以后的版本
Windows NT 4.0 必須安裝 IE 4.0 以后的版本
Windows 98 及 Windows 2000 均已支持!
Windows CE 则根本不支持! |
|
|