C#实现清空回收站的方法

时间:2022-04-16 14:43:43

本文实例讲述了C#实现清空回收站的方法。分享给大家供大家参考。具体实现方法如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.InteropServices;
namespace App
{
 class ClearRecycle
 {
  [DllImportAttribute("shell32.dll")]
  private static extern int SHEmptyRecycleBin(IntPtr handle, string root, int falgs);
  const int SHERB_NOCONFIRMATION = 0x000001;
  const int SHERB_NOPROGRESSUI = 0x000002;
  const int SHERB_NOSOUND = 0x000004;
  /// <summary>
  /// 清空回收站
  /// </summary>
  /// <param name="tip">是否提示</param>
  /// <param name="form">当前窗体,一般传入this</param>
  public static void Clear(bool tip, System.Windows.Forms.Form form)
  {
   System.Windows.Forms.DialogResult result = System.Windows.Forms.DialogResult.No;
   if (tip)
    result = System.Windows.Forms.MessageBox.Show("确定要清空回收站吗?", "友情提示", System.Windows.Forms.MessageBoxButtons.YesNo, System.Windows.Forms.MessageBoxIcon.Information);
   else
    result = System.Windows.Forms.DialogResult.Yes;
   if (result == System.Windows.Forms.DialogResult.Yes)
   {
    SHEmptyRecycleBin(form.Handle, "", SHERB_NOCONFIRMATION + SHERB_NOPROGRESSUI + SHERB_NOSOUND);
   }
  }
 }
}

希望本文所述对大家的C#程序设计有所帮助。