VB 6 检查网络上的文件是否存在花费太长时间

dal*_*der 3 vb6 directory network-programming file

下面的代码:

    If FileExists(XCustPath + "XCust.dat") Then
        XCustRun
    End If
Run Code Online (Sandbox Code Playgroud)

和这段代码:

Public Function FileExists(ByVal Fname As String) As Boolean

Dim lRetVal As Long
Dim OfSt As OFSTRUCT

lRetVal = OpenFile(Fname, OfSt, OF_EXIST)
If lRetVal <> HFILE_ERROR Then
    FileExists = True
Else
    FileExists = False
End If

End Function
Run Code Online (Sandbox Code Playgroud)

XCustPath 指向其中包含文件 XCust.dat 的映射网络位置。

但上线了:

lRetVal = OpenFile(Fname, OfSt, OF_EXIST)
Run Code Online (Sandbox Code Playgroud)

它需要很长时间并且将我的程序锁定 20-30 秒。它需要在不到 1 秒的时间内检查网络上是否存在该文件,因为它是针对遗留销售点应用程序的。如果代码行时间超过一秒,我是否可以强制它超时?如果它确实存在,它就会运行顺利且完美。或者有一种非常快速的方法来检查网络上的文件是否存在?

xpd*_*pda 5

这应该更快:

Dim fso As Object
Set fso = CreateObject("Scripting.FileSystemObject")
if fso.fileexists(Fname) ...
Run Code Online (Sandbox Code Playgroud)