在exe程序启动进入InitInstance()时,创建互斥锁,再次进入的时候,通过GetLastError()函数判断当前执行的结果,如果当前的结果是ERROR_ALREADY_EXISTS(已经存在了),则不启动整个应用程序,从而达到限制应用程序只启动一次的目的。
HANDLE m_hMutex = CreateMutex(NULL,TRUE, m_pszAppName);
if ( GetLastError() == ERROR_ALREADY_EXISTS )
{
AfxMessageBox(TEXT("只能启动一个程序"));
return FALSE;
}
本文介绍了一种确保程序仅能单例运行的方法:通过创建互斥锁并在程序启动时检查该锁是否存在。若锁已存在,则提示用户并阻止程序重复启动。
1万+

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



