您的位置:首页 > 编程语言 > C#

转:C#清除回收站

2013-06-22 20:26 295 查看
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);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: