建立唯一的单文档实例

    技术2022-05-20  54

    在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


    最新回复(0)