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; } }
public static extern int SHFileOperation(ref ShFileOpStruct fileOp);