方法:
在应用程序初始化函数(**App::InitInstance())中加入以下代码:
{
::CreateMutex(NULL, FALSE, "Unique");
if(GetLastError() == ERROR_ALREADY_EXISTS)
{
AfxMessageBox(_T("温馨提示:应用程序已存在,请勿重复打开。"));
return FALSE;
}
CWinApp::InitInstance();
}
原理:
初始化应用程序的时候创建一个有名字的内核对象(互斥量),当再次启动时创建同名的内核对象会报错,并退出应用程序。