复制或移动文件VB6超时?

时间:2014-04-28 22:49:05

标签: file-io vb6

我想将文件从文件夹复制到另一个文件夹,但有时候源文件已经使用或者不可用,源文件位于网络驱动器上,因此有时网络速度很慢或文件仍在使用中。

所以我想在复制文件命令中添加timeout参数,以避免出现“找不到文件”或其他任何错误。

1 个答案:

答案 0 :(得分:1)

当无法完成复制/移动操作时(例如,无法找到文件时),操作系统中内置的标准复制/移动功能将失败。有多种方法可以从VB 6调用它。您可以调用内置的CopyFile method,也可以使用FileSystemObject,它也有CopyFile方法。最后,您可以从Windows API导入CopyFileCopyFileEx函数并调用它。

无论您选择哪种方式,您都可以编写错误处理代码来捕获和抑制操作期间产生的任何错误。如果您想避免让用户看到此错误,您只需将其吞没在您的代码中,让您的应用程序不做任何特殊操作。

我无法想象这将如何有用。如果用户不了解问题,用户应该如何解决问题呢?

就超时而言,并非如此。只要操作正常进行,您也可以继续操作。这至少是操作系统的数据。即使它(例如因为文件在网络驱动器上),只要一切顺利,就放手吧。它只会在发生错误时停止。如果你真的想根据它需要多长时间来完成操作,无论它最终是否成功,那么你需要调用CopyFileEx函数,它允许你取消正在进行的复制操作。 VB 6样本可用here。该示例挂钩了一个回调函数,该函数允许函数将其进度报告给您的应用程序。你可能需要也可能不需要这个;它不需要能够取消操作。