使用标准“;重写“;对话框,其中包含自定义信息

本文关键字:包含 信息 自定义 对话框 标准 重写 | 更新日期: 2023-09-27 18:28:00

我正在编写一个实用程序,将文件复制到远程驱动器(例如SkyDrive)。当我要覆盖一个文件时,我会弹出一个常规的"文件存在,你想覆盖Y/N"消息框;是否可以使用标准的Windows文件覆盖对话框?有三个选项(复制并替换、不复制、复制但保留两者)和更详细的尺寸/日期信息?还是我应该写我自己的表格来复制它?(老实说,我已经搜索了两天了,如果只写我自己的,可能会快得多。)

澄清一下:当我选择时,我需要显示对话框——有时我不想显示它,只想覆盖文件。

如果可能的话,我更希望它能在C#/.NET中工作;但是,如果只存在非托管解决方案,我也会接受。

使用标准“;重写“;对话框,其中包含自定义信息

是的,这是可能的!我为Send to Dropbox做了这件事,这是我为Explorer编写的一个小插件实用程序,可以右键单击并将文件发送到Dropbox文件夹。

将SHFileOperation.cs复制到您的项目中,您可以这样调用它:

ShellFileOperation.CopyItems(source, target);

source可以有多个文件/目录。每个项目都必须用引号(")括起来。

target是目标目录。

示例:

ShellFileOperation.CopyItems("'"c:''foo.txt'" '"c:''bar.txt'"", "d:''xyz");