怎么判断一个文件是否处于使用中,可否将下面代码用AU3写出来,谢谢!Private Declare Function lOpen()Function lOpen Lib "kernel32" Alias "_lopen" (ByVal lpPathName As String, ByVal iReadWrite As Long) As Long
Private Declare Function lClose()Function lClose Lib "kernel32" Alias "_lclose" (ByVal hFile As Long) As Long
' 判断某文件是否在使用中
Public Function IsFileAlreadyOpen()Function IsFileAlreadyOpen(ByVal FileName As String) As Boolean
Dim hFile As Long
Dim lastErr As Long
hFile = -1 ' 初始化文件句柄.
lastErr = 0
hFile = lOpen(FileName, &H10)
If hFile = -1 Then ' 文件是否能正确打开并可共享
lastErr = Err.LastDllError
Else
lClose(hFile)
End If
IsFileAlreadyOpen = (hFile = -1) And (lastErr = 32)
End Function
Private Sub Command1_Click()Sub Command1_Click()
Dim strFileName As String
strFileName = "d:\050304_chengji.xls" ' 你的文件
If IsFileAlreadyOpen(strFileName) Then
MsgBox("指定文件已打开")
Else
MsgBox("指定文件未打开")
End If
End Sub
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/zy227/archive/2008/01/16/2046856.aspx
|