'只能判断已独占方式打开的文件 '下面是一个简单的例子: Public Declare Function OpenFile Lib "kernel32" (ByVal lpFileName As String, lpReOpenBuff As OFSTRUCT, ByVal wStyle As Long) As Long Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long Public Type OFSTRUCT cBytes As Byte fFixedDisk As Byte nErrCode As Integer Reserved1 As Integer Reserved2 As Integer szPathName As String * 128 End Type Public Const OF_SHARE_DENY_READ = &H30Public Function IsLock(FLpath As String) As Boolean '判断文件是否被已独占方式打开 Dim my As OFSTRUCT Dim r As Long r = OpenFile(FLpath, my, OF_SHARE_DENY_READ) If r = -1 Then CloseHandle r IsLock = True Else CloseHandle r IsLock = False End If End Function
'下面是一个简单的例子:
Public Declare Function OpenFile Lib "kernel32" (ByVal lpFileName As String, lpReOpenBuff As OFSTRUCT, ByVal wStyle As Long) As Long
Public Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
Public Type OFSTRUCT
cBytes As Byte
fFixedDisk As Byte
nErrCode As Integer
Reserved1 As Integer
Reserved2 As Integer
szPathName As String * 128
End Type
Public Const OF_SHARE_DENY_READ = &H30Public Function IsLock(FLpath As String) As Boolean '判断文件是否被已独占方式打开
Dim my As OFSTRUCT
Dim r As Long
r = OpenFile(FLpath, my, OF_SHARE_DENY_READ)
If r = -1 Then
CloseHandle r
IsLock = True
Else
CloseHandle r
IsLock = False
End If
End Function