/// <summary> /// Send file to recycle bin /// </summary> /// <param name="path">Location of directory or file to recycle</param> /// <param name="flags">FileOperationFlags to add in addition to FOF_ALLOWUNDO</param> internal static bool Send(string path, Enum.FileOperationFlags flags) { try { var fs = new ShFileOpStruct { wFunc = Enum.FileOperationType.FO_DELETE, pFrom = path + '\0' + '\0', fFlags = Enum.FileOperationFlags.FOF_ALLOWUNDO | flags }; var nativeShFileOpStruct = ShFileOpStruct.MapToNativeShFileOpStruct(fs); DllImports.SHFileOperation(ref nativeShFileOpStruct); return(true); } catch (Exception) { return(false); } }
/// <summary> /// Send file silently to recycle bin. Surpress dialog, surpress errors, delete if too large. /// </summary> /// <param name="path">Location of directory or file to recycle</param> public static bool MoveToRecycleBin(string path, Enum.FileOperationFlags flags) { return(Send(path, flags)); }