HANDLE hMutex;BOOL CCommCenterApp::InitInstance()
{
hMutex = CreateMutex(NULL, FALSE, "F25D2D81-9FA5-11d4-BE4D");
if (hMutex == NULL)
{
AfxMessageBox("初始化对象失败!");
return FALSE;
} if (GetLastError() == ERROR_ALREADY_EXISTS )
{
AfxMessageBox("通讯中心程序已经运行!");
return FALSE;
}
}int CCommCenterApp::ExitInstance()
{
if (hMutex)
{
CloseHandle(hMutex);
hMutex = NULL;
}
}结果是这样的:
我第一次运行应用程序,正常
然后正常关闭应用程序
再次运行提示应用程序提示已经运行
然后再次运行应用程序提示已经运行
只到第三次运行才能正常运行,不知道为什么,各位帮我看看啦
{
hMutex = CreateMutex(NULL, FALSE, "F25D2D81-9FA5-11d4-BE4D");
if (hMutex == NULL)
{
AfxMessageBox("初始化对象失败!");
return FALSE;
} if (GetLastError() == ERROR_ALREADY_EXISTS )
{
AfxMessageBox("通讯中心程序已经运行!");
return FALSE;
}
}int CCommCenterApp::ExitInstance()
{
if (hMutex)
{
CloseHandle(hMutex);
hMutex = NULL;
}
}结果是这样的:
我第一次运行应用程序,正常
然后正常关闭应用程序
再次运行提示应用程序提示已经运行
然后再次运行应用程序提示已经运行
只到第三次运行才能正常运行,不知道为什么,各位帮我看看啦
不要在 IDE中 F5运行