Access(mdb)ファイルを監視するには

解決


初心者  2002-10-26 03:43:51  No: 105273

Form上に3つボタンがあり1つのボタンに対し、
1つのmdbを起動させるというものです。<−−起動するmdbはそれぞれ異なります。
mdbが起動中の場合は、3つボタンどれを押してもmdbは起動できません。

下記のプログラムを作成したのですが、
対象がexeファイルだと正常な動作をしてくれます。
mdbだとプログラム上のチェックに反応しません。
何か良い方法はないでしょうか?

テスト環境:
OS Win2000
VB 6.0
DB Access97

Dim hProcess As Long        'プロセス
Dim lret As Long

Private Sub Cmd_01_Click()
'アプリ1つ目

    If 起動監視 = False Then
        lret = Shell("C:\テスト補助プログラム\多重起動監視\File\db1.mdb", vbNormalFocus)
        hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, 1, lret)
    End If

End Sub

Private Sub Cmd_02_Click()
'アプリ2つ目

    If 起動監視 = False Then
        lret = Shell("C:\テスト補助プログラム\多重起動監視\File\db2.mdb", vbNormalFocus)
        hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, 1, lret)
    End If

End Sub

Private Sub Cmd_03_Click()
'アプリ3つ目

    If 起動監視 = False Then
        lret = Shell("C:\テスト補助プログラム\多重起動監視\File\db3.mdb", vbNormalFocus)
        hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, 1, lret)
    End If

End Sub

Private Sub Cmd_end_Click()
    
    Unload Me
    
End Sub

Private Function 起動監視() As Boolean

Dim lExitCode As Long

    lret = GetExitCodeProcess(hProcess, lExitCode)
    If lExitCode = STILL_ACTIVE Then
        起動監視 = True
        MsgBox "起動されています"
    Else
        起動監視 = False
   '     MsgBox "起動されていません"
    End If
    
End Function


初心者  2002-10-30 08:45:59  No: 105274

自力で解決しました


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加