65.9K
CodeProject is changing. Read more.
Home

Empty the Recycle Bin using C#.

starIconstarIcon
emptyStarIcon
starIcon
emptyStarIconemptyStarIcon

2.50/5 (9 votes)

Aug 24, 2007

viewsIcon

62172

downloadIcon

976

Empty the Recycle Bin using C#.

Introduction

Here is sample coding for how to empty the recycle bin using C#.

We can clear the recycle bin easily by using the Shell32.dll as follows.

shell32.dll

shell32.dll is a library which contains Windows Shell API functions, which are used when opening web pages and files.

First of all we need to create an enum as follows,

enum RecycleFlags : uint
        {
            SHERB_NOCONFIRMATION = 0x00000001,
            SHERB_NOPROGRESSUI = 0x00000002,
            SHERB_NOSOUND = 0x00000004
        }

And then, import the Shell32.dll using the DllImport class which is in System.Runtime.InteropServices namespaces. And creating the functionality SHEmptyRecycleBin as follows,

[DllImport("Shell32.dll",CharSet=CharSet.Unicode)]
        static extern uint SHEmptyRecycleBin(IntPtr hwnd, string pszRootPath, RecycleFlags dwFlags);

In my project I have two buttons like "Clear the RecycleBin" and "Exit".

When clicking the Clear the RecycleBin, we have to clear the recyclebin. So the following code will help for do that function. Copy the following code in to that button clicking event.

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

Exit the application when click the "Exit" button.

Application.Exit();

Now run the program,

Click the "Clear the Recycle Bin"

The confirmation window will appear for deleting all items for delete all items in the Recycle Bin.

Give yes to delete all items from Recycle Bin.

Yes…that's it...