[项目整理]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


 

你可能感兴趣的:(Win32)