/// <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));
 }