Click here to Skip to main content
65,938 articles
CodeProject is changing. Read more.
Articles
(untagged)

Empty the Recycle Bin using C#.

0.00/5 (No votes)
24 Aug 2007 1  
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...

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here