掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
Mutexによる二重起動防止で2回目起動しなくなる原因は? (ID:68300)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
どなたか教えてください。お願いします。 VS2005 MFC SDI アプリです。 二重起動防止のため次のコードを入れています。 <Komatta.cpp> #define APP_NAME _T("KOMATTA-APP") HANDLE m_hMutexApp; BOOL CKomattaApp::InitInstance() { ・・・・・ m_hMutexApp = CreateMutex(NULL, TRUE, APP_NAME); if (GetLastError() == ERROR_ALREADY_EXISTS) { MessageBox(NULL, _T("すでに起動しています"), _T("二重起動の警告"), MB_ICONWARNING); ReleaseMutex(m_hMutexApp); return FALSE; // ここで終了 } ・・・・・ } int CKomattaApp::ExitInstance() { ReleaseMutex(m_hMutexApp); CloseHandle(m_hMutexApp); return CWinApp::ExitInstance(); } 自分の環境(WindowsXP SP3)では問題なく機能するのですが、あるユーザーから「終了したのに2回目の起動で”すでに起動しています”のメッセージが出て終了する”との報告がありました。 このユーザーの環境も同じ WindowsXP SP3 です。 状況から Mutex が解放されていないような気がするのですが、上記のコードのどこがいけないのでしょうか?
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.