.NET:如何使用Windows“复制文件”对话框复制文件

4

.NET:我如何使用Windows“复制文件”对话框复制文件?我需要批量复制多个文件。是否存在任何.NET 2.0库/方法,可以在不调用Windows平台特定库的情况下以跨平台方式进行操作。

提前致谢。

6个回答

13

4
可能是VB.NET中最好保存的秘密之一。 - AMissico

2
为了使用“Windows'复制文件'对话框”,您需要调用“Windows平台特定库”。

1

搜索 IProgressDialog - 这是一个接口,为您提供所需的功能


0

也许你可以在Windows API Code Pack中找到所需的功能。

如果其他方法都失败了,那么可以采用不太美观的方式:创建一个不可见的Windows资源管理器窗口,并操纵它来启动复制过程。


0

在.NET中,您可以制作自己的对话框。

这并不一定是一个困难的任务:

  • 如果您拥有VS2005,则需要解压缩位于64位系统上的C:\Program Files (x86)\Microsoft Visual Studio 8\Common7\VS2005ImageLibrary或32位系统上的C:\Program Files\Microsoft Visual Studio 8\Common7\VS2005ImageLibraryVS2005ImageLibrary.zip

  • 解压缩zip文件后,将会有几个文件复制对话框动画的动态GIF。其中还包括.AVI格式的文件。

  • 选择一个动画GIF。

  • 创建一个带有图片框的对话框。将GIF分配给图片框的image属性。

  • 在动画下面添加一个标签以指定正在复制的文件。

  • 使用线程驱动文件复制操作,并根据需要更新对话框。


-3
问题在于它并不是真正的“Windows复制文件对话框”,而是资源管理器的对话框。因此,必须找到一种以编程方式控制资源管理器的方法。(可能可以通过COM或WMI实现)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接