七彩焰阳 发表于 2009-7-15 15:39:13

如何清空回收站

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

七彩焰阳 发表于 2009-8-10 23:03:56

不太明白啊~

ljx92386 发表于 2009-8-29 22:59:22

你發的你都不明白?
{:4_109:}

ljx92386 发表于 2009-8-29 22:59:25

你發的你都不明白?
{:4_109:}

圈圈 发表于 2009-10-9 19:17:13

悲哀啊!{:4_178:}

ltsjt 发表于 2010-2-27 19:06:46

帮你项项吧
页: [1]
查看完整版本: 如何清空回收站