国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > C# > 正文

dotnet如何將文件刪除到回收站

2020-01-24 00:06:47
字體:
供稿:網(wǎng)友

前言

默認(rèn)刪除文件的時候 File.Delete 是將文件永久刪除,如果是一些文檔,建議刪除到回收站,這樣用戶可以自己還原 通過 SHFileOperation 可以將文件放在回收站

本文提供的方法暫時只能在 x86 程序使用,此方法暫時不適合 dotnet core 程序

添加一個幫助類

 public static class RecycleBin {  public static void DeleteToRecycleBin(string file)  {   var shf = new SHFILEOPSTRUCT   {    wFunc = FO_DELETE,    fFlags = FOF_ALLOWUNDO | FOF_NOCONFIRMATION,    // pFrom 需要在字符串后面加兩個 /0 才可以 https://docs.microsoft.com/en-us/windows/desktop/api/shellapi/ns-shellapi-_shfileopstructa    pFrom = file + "/0"   };   SHFileOperation(ref shf);  }  [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Auto, Pack = 1)]  private struct SHFILEOPSTRUCT  {   public int hwnd;   [MarshalAs(UnmanagedType.U4)] public int wFunc;   public string pFrom;   public string pTo;   public short fFlags;   [MarshalAs(UnmanagedType.Bool)] public bool fAnyOperationsAborted;   public int hNameMappings;   public string lpszProgressTitle;  }  [DllImport("shell32.dll", CharSet = CharSet.Auto)]  private static extern int SHFileOperation(ref SHFILEOPSTRUCT FileOp);  private const int FO_DELETE = 3;  private const int FOF_ALLOWUNDO = 0x40;  private const int FOF_NOCONFIRMATION = 0x10; }

這個類里面只有一個公開方法,要求傳入一個文件

下面添加一些測試的代碼

  static void Main(string[] args)  {   var folder = @"D:/lindexi/github/";   var file = Path.Combine(folder, "歡迎訪問我博客 blog.lindexi.com 里面有大量 UWP WPF 博客.txt");   Directory.CreateDirectory(folder);   if (!File.Exists(file))   {    File.WriteAllText(file, "歡迎訪問我博客 blog.lindexi.com 里面有大量 UWP WPF 博客");   }   RecycleBin.DeleteToRecycleBin(file);  }

嘗試運行代碼

如果可以引用Microsoft.VisualBasic那么寫起來就很清真

Microsoft.VisualBasic.FileIO.FileSystem.DeleteDirectory(filename or folder,  Microsoft.VisualBasic.FileIO.UIOption.OnlyErrorDialogs,   Microsoft.VisualBasic.FileIO.RecycleOption.SendToRecycleBin);

代碼在github

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,謝謝大家對武林網(wǎng)的支持。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 隆回县| 海林市| 霍城县| 陕西省| 花垣县| 苍南县| 察雅县| 洮南市| 横峰县| 喜德县| 桑植县| 津南区| 阿拉善盟| 大田县| 桦川县| 堆龙德庆县| 丰台区| 垣曲县| 同心县| 梁河县| 衡东县| 突泉县| 祁连县| 巴彦淖尔市| 临夏县| 萝北县| 南溪县| 焉耆| 牙克石市| 秀山| 永昌县| 达拉特旗| 宁海县| 孝昌县| 邵东县| 朝阳区| 宝清县| 咸丰县| 克拉玛依市| 自贡市| 宁晋县|