私はmutexオブジェクトを使用して単一インスタンスを実行しています。 勝利7私はコードが動作していません。理由は何でしょうか? コードはここにmutexを使用して単一インスタンスを実行する
//Test for another instance
HANDLE hMutex = CreateMutex(NULL, TRUE,
_T("Global\\DFFDFD-C1733E55-A6FD-47D5-8638-053E938E08B8"));
if (hMutex)
{
if(GetLastError() == ERROR_ALREADY_EXISTS)
{
DebugWrite(_T("Another instance of application running. Aborting.\n"));
MessageBeep(0xFFFFFFFF);
ShowErrorMessage(IDS_ANOTHER_INSTANCE_RUNNING_ABORTING);
CloseHandle(hMutex);
return 0;
}
}
NULLでないことをhMutexするための第1のチェックを「動作しない」を定義します。 –
は、ミューテックスが複数作成された手段を動作していません複数回同時に開くことが可能です – SparcU
ミューテックスが作成されたことをどう知っていますか?あなたは 'CreateMutex'の戻り値を決してチェックしません。 –