建立唯一的单文档实例

来源:互联网 发布:数据查询网站 编辑:程序博客网 时间:2024/06/06 03:43

在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

原创粉丝点击