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

VB如何清空回收站?

HTML文档下载 WORD文档下载 PDF文档下载
VB如何清空回收站?

版本:VB6 / VB5 / VB4-32


我们要如何在 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 则根本不支持!


备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘