[项目整理]Win32,MFC的可执行文件只能运行一次


//第一种方法:控制release版本的exe文件只能运行一次
#ifndef _DEBUG  //debug 版本中,项目属性-->预处理器 -->预处理定义: 有_DEBUG
	if (FindWindow(NULL,_T("窗口标题"))) //这种方法个缺点:当先运行一个debug版本的exe文件时,则release版本的exe文件不能运行了。debug版本影响release版本。下一种方法则不会出现此缺点
	{ 
		return FALSE;
	}	
#endif

//第二种方法:控制release版本的exe文件只能运行一次
#ifndef _DEBUG
	HANDLE hSem = CreateSemaphore(NULL, 1, 1, _T("SoftName_Single_Instance"));
	if (GetLastError() == ERROR_ALREADY_EXISTS) 
	{
		CloseHandle(hSem);
		return FALSE;
	}
#endif


原文地址:https://www.cnblogs.com/javawebsoa/p/3150415.html