Exemple #1
0
        public static int FileOperation(string path, FileOperationType operationType, FileOperationFlags flags)
        {
            try
            {
                var fs = new ShFileOpStruct
                {
                    Func  = operationType,
                    From  = path + '\0' + '\0',
                    Flags = flags
                };

                return(SHFileOperation(ref fs));
            }
            catch (Exception)
            {
                return(-1);
            }
        }
 /// <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 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;
     }
 }
Exemple #4
0
 public static extern int SHFileOperation(ref ShFileOpStruct fileOp);