■449 / ) |
Re[3]: 二重起動を確実に禁止する |
□投稿者/ じゃんぬ 中将(67回)-(2005/05/25(Wed) 11:03:57)
|
分類:[VB6以前]
■No446に返信(スフレさんの記事) > ・CreateMutex() して、成功ならアプリケーション本体へ。失敗なら二重起動なので終了 > ・アプリケーションが終るときには CloseHandle() で mutex を破棄
うーん、以下のようにすると、CreateMutex が必ず成功していまいます。 GetLastError も必ず 0 が返ります。(C ではうまくいくと記憶しています) そこで、WaitForSingleObject() を使うことにしちゃったんですが...
Public Sub Main() Dim hMutex As Long
' 新しい Mutex を生成する hMutex = CreateMutex(ByVal 0&, 0&, "HOGEHOGE")
If GetLastError() = 0& Then Dim hForm As Form1 Set hForm = New Form1
Call hForm.Show(vbModal)
Set hForm = Nothing End If
Call CloseHandle(hMutex) End Sub
もう少し、調べてみます。
# 管理人が何やってるんだか... orz
|
0
|