Svuotare il cestino in C#



Per svuotare il cestino in C# si devere ricorrere alle API di Windows e a codice Unmanaged.

Creiamo prima di tutto un’enumerazione contenente le opzioni da passare come parametro alla funzione che andremo ad usare:

enum RecycleFlags : int
{
// Nessuna finestra di conferma
SHERB_NOCONFIRMATION = 0x00000001,
// Nessuna finestra di progresso
SHERB_NOPROGRESSUI = 0x00000001,
// Nessun suono
SHERB_NOSOUND = 0x00000004
}

Dal commento possiamo già capire a cosa serve ogni elemento dell’enumerazione.

Quindi importiamo la funzione delle API:

// SHEmptyRecycleBin si trova in Shell32.dll
[DllImport("Shell32.dll")]
// La funzione SHEmptyRecycleBin
static extern int SHEmptyRecycleBin(IntPtr hwnd, string pszRootPath, RecycleFlags dwFlags);

Usarla ora è semplicissimo:

// Svuotiamo il cestino
SHEmptyRecycleBin(IntPtr.Zero, null, RecycleFlags.SHERB_NOSOUND);

Ovviamente come terzo paramentro possiamo usare anche una combinazione degli elementi dell’enumerazione, tramite il simbolo |.

Annunci sponsorizzati:
Condividi su Facebook Condividi su Twitter!
Pinterest