??
Private Declare Function lopen Lib "kernel32" Alias "_lopen" _ (ByVal lpPathName As String,ByVal iReadWrite As Long) As Long Private Declare Function GetLastError Lib "kernel32" () As Long Private Declare Function lclose Lib "kernel32" Alias "_lclose" _ (ByVal hFile As Long) As Long
''' <summary> ''' 既にファイルがオープンされているかの確認 ''' </summary> ''' <param name="Filename">判断ファイル</param> ''' <returns>true:opening,false:closed</returns> ''' <remarks></remarks> Public Shared 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
' 共有違反エラーがないかどうかを確認してください。 If (hFile = -1) And (lastErr = 32) Then IsFileAlreadyOpen = True Else IsFileAlreadyOpen = False End If
End Function (编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|