您的位置:首页 > 其它

让MFC程序只运行一个实例

2014-03-17 18:31 267 查看
以对话框程序Demo为例:1、在CDemoApp类中添加成员变量:		HANDLE m_hMutex;2、重载CWinApp::InitInstance 和 CWinApp::ExitInstance,代码如下:
BOOL CDemoApp::InitInstance(){	//创建互斥量	m_hMutex = ::CreateMutexW(NULL,FALSE,_T("Demo"));	//判断互斥量是否存在	if(GetLastError() == ERROR_ALREADY_EXISTS)	{		AfxMessageBox(_T("应用程序已经运行!"));		return false;	}	else	{		AfxMessageBox(_T("应用程序第一次运行"));	}	//.....	return FALSE ;}
int CDemoApp::ExitInstance()
{
// TODO: 在此添加专用代码和/或调用基类
if(m_hMutex != NULL)
{
CloseHandle(m_hMutex);	//关闭句柄
}

return CWinApp::ExitInstance();
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: