C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 1 を表示中)
■449 / )  Re[3]: 二重起動を確実に禁止する
□投稿者/ じゃんぬ 中将(67回)-(2005/05/25(Wed) 11:03:57)
じゃんぬ さんの Web サイト

分類:[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
返信 編集キー/


管理者用

- Child Tree -