public void Delete(IEnumerable <string> files)
        {
            var lpFileOp = new ShFileOp
            {
                Operation = Func.Copy,
                Flags     = Flags.AllowUndo | Flags.SimpleProgress,
                From      = files,
            };

            ExecShFileOperation(lpFileOp);
        }
        public void Move(IEnumerable <string> src, string dst)
        {
            var lpFileOp = new ShFileOp
            {
                Operation = Func.Move,
                Flags     = Flags.AllowUndo | Flags.SimpleProgress,
                From      = src,
                To        = new [] { dst },
            };

            ExecShFileOperation(lpFileOp);
        }
        private static void ExecShFileOperation(ShFileOp lpFileOp)
        {
            var lpFileOpStruct = lpFileOp.ToStruct();

            SHFileOperation(ref lpFileOpStruct);
        }