VC++判断程序是否已经运行;仅运行一次

VC++判断程序是否已经运行;仅运行一次

VC++判断程序是否已经运行;仅运行一次_第1张图片

BOOL CClientApp::InitInstance()
{
    ...
    //判断程序是否已经运行;仅运行一次
    CreateMutex(NULL,true,_T("xxxxx"));   //xxxxx:为程序标识码
    if(GetLastError()==ERROR_ALREADY_EXISTS)   
    {   
      AfxMessageBox("已经有一个程序示例在运行");
      TerminateProcess(GetCurrentProcess(),0);//结束自身进程句柄
    }
    ...
}

如上代码所示,在程序的InitInstance中,xxxxx即为程序的标识,程序运行会检测是否存在已经运行的标识;如果存在,则提示并退出;
需要注意的是,不同的程序应该设置不同的值;

你可能感兴趣的:(c++,开发语言)