SHEmptyRecycleBin是一个内核API方法,该方法能够清空回收站中的文件,该方法在C#中需要手动的引入方法所在的类库.该方法在C#中的声明语法如下:
[DllImportAttrbute("shell32.dll")] //声明API函数
private static extern int SHEmptyRecycleBin(IntPtr handle,string root,int falgs);
参数说明如下:
handle:父窗口句柄.
root:将要清空的回收站的地址,如果为Null值时将清空所有驱动器上的回收站.
falgs:用于清空回收站的功能参数.
注意:因为调用了Windows API,所以要添加对System.Runtime.IneropServices命名空间的引用;
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
[DllImportAttribute("shell32.dll")]//声明API函数
private static extern int SHEmptyRecycleBin(IntPtr handle, string root, int falgs);
const int SHERB_NOCONFIRMATION = 0x000001; // 整型常量在API中表地删除时没有确认对话框
const int SHERB_NOPROGRESSUI = 0x000002; // 在API中表示不显示删除进度条
const int SHERB_NOSOUND = 0x000004; // 在API中表示删除完毕时不播放声音
private void button1_Click(object sender, EventArgs e)
{
SHEmptyRecycleBin(this.Handle, "", SHERB_NOCONFIRMATION + SHERB_NOPROGRESSUI + SHERB_NOSOUND);
}
}