方法:
在应用程序初始化函数(**App::InitInstance())中加入以下代码:
{
::CreateMutex(NULL, FALSE, "Unique");
if(GetLastError() == ERROR_ALREADY_EXISTS)
{
AfxMessageBox(_T("温馨提示:应用程序已存在,请勿重复打开。"));
return FALSE;
}
CWinApp::InitInstance();
}原理:
初始化应用程序的时候创建一个有名字的内核对象(互斥量),当再次启动时创建同名的内核对象会报错,并退出应用程序。
本文介绍了一种在应用程序初始化阶段使用互斥量来确保单一实例运行的方法,避免了同一应用程序被多次打开的可能性,提高了系统的稳定性和安全性。
2674

被折叠的 条评论
为什么被折叠?



