以下直接上代码:
C***App.h中声明:
class CTest1App : public CWinApp
{
//此处省略无关代码
private:
HANDLE m_hMutex;//在此声明
};
然后在C***App::InitInstance() 添加代码
BOOL CTest1App::InitInstance()
{
//在此实现单例运行
m_hMutex = CreateMutex(NULL,FALSE,_T("WW-APP-20201023"));//指定一个名称,注意别与其他项目同名冲突
if(GetLastError() == ERROR_ALREADY_EXISTS)
{
//如果已经存在同名的Mutex会得到这个错误.
CloseHandle(m_hMutex);
return FALSE;
}
//以下省略
}
最后记得在析构函数中关闭m_hMutex
CloseHandle(m_hMutex);