加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

vb.net or vb判断文件是否执行中(打开状态)

发布时间:2020-12-17 07:41:48 所属栏目:百科 来源:网络整理
导读:?? 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"
??

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读