我想将文件从文件夹复制到另一个文件夹,但有时候源文件已经使用或者不可用,源文件位于网络驱动器上,因此有时网络速度很慢或文件仍在使用中。
所以我想在复制文件命令中添加timeout参数,以避免出现“找不到文件”或其他任何错误。
答案 0 :(得分:1)
当无法完成复制/移动操作时(例如,无法找到文件时),操作系统中内置的标准复制/移动功能将失败。有多种方法可以从VB 6调用它。您可以调用内置的CopyFile
method,也可以使用FileSystemObject
,它也有CopyFile
方法。最后,您可以从Windows API导入CopyFile
或CopyFileEx
函数并调用它。
无论您选择哪种方式,您都可以编写错误处理代码来捕获和抑制操作期间产生的任何错误。如果您想避免让用户看到此错误,您只需将其吞没在您的代码中,让您的应用程序不做任何特殊操作。
我无法想象这将如何有用。如果用户不了解问题,用户应该如何解决问题呢?
就超时而言,并非如此。只要操作正常进行,您也可以继续操作。这至少是操作系统的数据。即使它慢(例如因为文件在网络驱动器上),只要一切顺利,就放手吧。它只会在发生错误时停止。如果你真的想根据它需要多长时间来完成操作,无论它最终是否成功,那么你需要调用CopyFileEx
函数,它允许你取消正在进行的复制操作。 VB 6样本可用here。该示例挂钩了一个回调函数,该函数允许函数将其进度报告给您的应用程序。你可能需要也可能不需要这个;它不需要能够取消操作。