65.9K
CodeProject 正在变化。 阅读更多。
Home

使用 C# 清空回收站。

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.50/5 (9投票s)

2007年8月24日

viewsIcon

62675

downloadIcon

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();

现在运行程序:

单击“清空回收站”

将出现确认窗口,用于删除回收站中的所有项目。

选择“是”以删除回收站中的所有项目。

就是这样了...

© . All rights reserved.