我正在使用互斥對象來強制執行單實例。 贏了7我的代碼不起作用。可能是什麼原因? 代碼是在這裏使用互斥鎖來強制執行單實例
//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;
}
}
定義「不能工作」 – 2012-03-12 00:10:05
不工作意味着互斥鎖創建了多個因此應用程序可能會同時打開多次 – SparcU 2012-03-12 07:20:26
您如何知道互斥鎖已創建?你從不檢查'CreateMutex'的返回值。 – 2012-03-12 08:41:36