建立唯一的单文档实例

在windows环境下,我们经常要确保程序只有唯一的实例。其实,我们只要在程序的初始化阶段判断就可以了。下面,我们就以单文档进行演示。

第一步:默认创建一个单文档项目。例如项目名为:test

第二步:在test.cpp添加一个判断函数。如:BOOL AlreadyRunning();

代码为:

BOOL IsAlreadyRunning()

{

BOOL bRet = FALSE;

HANDLE hMutex = ::CreateMutex(NULL,TRUE,AfxGetAppName());

if (GetLastError() == ERROR_ALREADY_EXISTS)

{

bRet = TRUE;

}

if (hMutex)

{

::ReleaseMutex(hMutex);

}

 

return bRet;

}

第三步:在项目的InitInstance()开始处添加判断函数。如果程序已经运行,返回FALSE。

完事了。

2011-02-27

你可能感兴趣的:(windows,null,文档)