public ShellFileOperation()
        {
            // set default properties
            this.operationFlags = ShellFileOperationFlags.Allowundo
                                  | ShellFileOperationFlags.Multidestfiles
                                  | ShellFileOperationFlags.NoConnectedElements
                                  | ShellFileOperationFlags.Wantnukewarning;

            this.progressTitle = "";
        }
Exemple #2
0
 public ShellFileOperation()
 {
     // set default properties
     Operation      = FileOperations.FO_COPY;
     OwnerWindow    = IntPtr.Zero;
     OperationFlags = ShellFileOperationFlags.FOF_ALLOWUNDO
                      | ShellFileOperationFlags.FOF_MULTIDESTFILES
                      | ShellFileOperationFlags.FOF_NO_CONNECTED_ELEMENTS
                      | ShellFileOperationFlags.FOF_WANTNUKEWARNING;
     ProgressTitle = "";
 }
 public ShellFileOperation()
 {
     // set default properties
     Operation = FileOperations.FO_COPY;
     OwnerWindow = IntPtr.Zero;
     OperationFlags = ShellFileOperationFlags.FOF_ALLOWUNDO
         | ShellFileOperationFlags.FOF_MULTIDESTFILES
         | ShellFileOperationFlags.FOF_NO_CONNECTED_ELEMENTS
         | ShellFileOperationFlags.FOF_WANTNUKEWARNING;
     ProgressTitle = "";
 }
Exemple #4
0
        public bool DoOperation()
        {
            if (Silent)
            {
                OperationFlags |= ShellFileOperationFlags.FOF_NOCONFIRMATION;
            }

            ShellApi.SHFILEOPSTRUCT FileOpStruct = new ShellApi.SHFILEOPSTRUCT();

            FileOpStruct.hwnd  = OwnerWindow;
            FileOpStruct.wFunc = (uint)Operation;

            String multiSource = StringArrayToMultiString(SourceFiles);
            String multiDest   = StringArrayToMultiString(DestFiles);

            FileOpStruct.pFrom = Marshal.StringToHGlobalUni(multiSource);
            FileOpStruct.pTo   = Marshal.StringToHGlobalUni(multiDest);

            FileOpStruct.fFlags                = (ushort)OperationFlags;
            FileOpStruct.lpszProgressTitle     = ProgressTitle;
            FileOpStruct.fAnyOperationsAborted = 0;
            FileOpStruct.hNameMappings         = IntPtr.Zero;

            int RetVal;

            RetVal = ShellApi.SHFileOperation(ref FileOpStruct);

            ShellApi.SHChangeNotify(
                (uint)ShellChangeNotificationEvents.SHCNE_ALLEVENTS,
                (uint)ShellChangeNotificationFlags.SHCNF_DWORD,
                IntPtr.Zero,
                IntPtr.Zero);

            if (RetVal != 0)
            {
                return(false);
            }

            if (FileOpStruct.fAnyOperationsAborted != 0)
            {
                return(false);
            }

            return(true);
        }
        public ShellFileOperation()
        {
            // set default properties
            this.operationFlags = ShellFileOperationFlags.Allowundo
                                  | ShellFileOperationFlags.Multidestfiles
                                  | ShellFileOperationFlags.NoConnectedElements
                                  | ShellFileOperationFlags.Wantnukewarning;

            this.progressTitle = "";
        }