使用 C# 清空回收站。






2.50/5 (9投票s)
2007年8月24日

62675

1021
使用 C# 清空回收站。
引言
以下是使用 C# 清空回收站的示例代码。
我们可以通过使用 Shell32.dll 轻松清空回收站,如下所示。
shell32.dll
shell32.dll 是一个库,包含 Windows Shell API 函数,这些函数用于打开网页和文件。
首先,我们需要创建如下的 enum:
enum RecycleFlags : uint
{
SHERB_NOCONFIRMATION = 0x00000001,
SHERB_NOPROGRESSUI = 0x00000002,
SHERB_NOSOUND = 0x00000004
}
然后,使用 DllImport 类(位于 System.Runtime.InteropServices 命名空间中)导入 Shell32.dll,并创建 SHEmptyRecycleBin 功能,如下所示:
[DllImport("Shell32.dll",CharSet=CharSet.Unicode)] static extern uint SHEmptyRecycleBin(IntPtr hwnd, string pszRootPath, RecycleFlags dwFlags);
在我的项目中,有两个按钮,分别是“清空回收站”和“退出”。
单击“清空回收站”按钮时,我们需要清空回收站。以下代码将帮助实现此功能。将以下代码复制到该按钮的单击事件中。
try { uint result = SHEmptyRecycleBin(IntPtr.Zero, null, 0); MessageBox.Show(this,"Done !","Empty the RecycleBin",MessageBoxButtons.OK,MessageBoxIcon.Information); } catch(Exception ex) { MessageBox.Show(this, "Failed ! " + ex.Message, "Empty the RecycleBin", MessageBoxButtons.OK, MessageBoxIcon.Stop); Application.Exit(); }
单击“退出”按钮时退出应用程序。
Application.Exit();
现在运行程序:
单击“清空回收站”
将出现确认窗口,用于删除回收站中的所有项目。
选择“是”以删除回收站中的所有项目。
就是这样了...