找回密码
 注册
搜索
查看: 1585|回复: 5

如何清空回收站

[复制链接]
发表于 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 | 显示全部楼层
不太明白啊~
回复

使用道具 举报

发表于 2009-8-29 22:59:22 | 显示全部楼层
你發的你都不明白?
回复

使用道具 举报

发表于 2009-8-29 22:59:25 | 显示全部楼层
你發的你都不明白?
回复

使用道具 举报

发表于 2009-10-9 19:17:13 | 显示全部楼层
  悲哀啊!
回复

使用道具 举报

发表于 2010-2-27 19:06:46 | 显示全部楼层
帮你项项吧  
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|QQ客服|联系我们|Archiver|手机版|小黑屋|悉远网络 ( 鄂ICP备09013446号 )

GMT+8, 2024-11-21 23:55 , Processed in 0.043232 second(s), 6 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表