我希望将许多文件或文件夹复制到不同的文件夹,但是将其作为实用程序运行 - 即。我的应用程序启动过程,就好像用户已将文件复制到剪贴板中然后将它们粘贴到目标中一样 我在其他地方看到了复制目录或文件的答案,但在这一个进度对话框下没有两者的混合。
答案 0 :(得分:3)
如果您要复制文件或目录,并让系统提供了复制进度对话框,那么您正在寻找SHFileOperation
或IFileOperation
。
如果您希望支持XP,那么至少需要在该平台上使用SHFileOperation
。在我看来,您可以在所有平台上使用SHFileOperation
。另一方面,如果您准备忽略XP,那么您应该使用IFileOperation
。
两者都非常容易使用C#。对于SHFileOperation
,您可以使用pinvoke.net中提供的p / invoke声明。由于这是一个非常广泛使用和有用的功能,所以p / invokes很有可能提供高质量的。
对IFileOperation
我不熟悉这些选项。这篇MSDN文章看起来很有希望:http://msdn.microsoft.com/en-us/magazine/cc163304.aspx