Geri Dönüşüm Kutusunu Boşaltmak

Dosyaları sildiğimiz zaman sildiğimiz dosyaların gideceği yer Çöp Kutusu da dediğimiz geri dönüşüm kutusudur. Tabii dosyaları silerken Shift + Delete tuşu ile silmediysek

Bir Program kullanarak geri dönüşüm kutusunu boşaltmak istersek. Önce Yeni proje oluşturalım. Ben şu anda c# da anlatmayı tercih ettim.
Önce kütüphanemize ekleme yapıyoruz.

using System.Runtime.InteropServices;

public Form1()
{
InitializeComponent();
}

kodlarından sonra şu kodları ekliyoruz.
enum RecycleFlags : uint
        {
            SHERB_NOCONFIRMATION = 0x00000001,
            SHERB_NOPROGRESSUI = 0x00000002,
            SHERB_NOSOUND = 0x00000004
        }
Ve Formumuza 1 adet button ekliyoruz. Butonumuzun kodları ise;
private void button1_Click(object sender, EventArgs e)
        {
uint result = SHEmptyRecycleBin(IntPtr.Zero, null, 0);
}

Son olarak Button1 kodumuzdan hemen sonra aşağıdaki kodları ekliyoruz.
[DllImport("Shell32.dll", CharSet = CharSet.Unicode)]
static extern uint SHEmptyRecycleBin(IntPtr hwnd, string pszRootPath,
RecycleFlags dwFlags);

Peki normal olarak böyle siliyoruz. Ancak kullanıcının onayını sormasını istemiyorsak;
uint result = SHEmptyRecycleBin(IntPtr.Zero, null, RecycleFlags.SHERB_NOCONFIRMATION);
Bu sefer de siliyoruz ama geri dönüşüm kutusunu içeriği biraz dolu ise silindiğini gösteriyor ve silindiğine dair ses çıkıyor. Aşağıdaki kod ise kullanıcıdan silmesine dair bir onay istemez ve silinen dosyaları göstermez.
uint result = SHEmptyRecycleBin(IntPtr.Zero, null, RecycleFlags.SHERB_NOCONFIRMATION | RecycleFlags.SHERB_NOPROGRESSUI);

Hiç bir uyarı vermesin Sesde çıkmasın diyorsanız;
uint result = SHEmptyRecycleBin(IntPtr.Zero, null, RecycleFlags.SHERB_NOCONFIRMATION | RecycleFlags.SHERB_NOPROGRESSUI | RecycleFlags.SHERB_NOSOUND);

Kodlarımız şimdilik bu kadar. Bir daha ki yazımda görüşmek üzere...

Yorumlar

Bu blogdaki popüler yayınlar

[programsız] Bilgisayarı yeniden başlatma (restart) işleminin zamanını ayarlama

c# List kullanımı