vc 禁止程序同时运行多份(防止重复运行)

///////////////////////////////<防止重复运行>///////////////////////////////////////////////
 CString lpszName="proj Test";   //窗口的标题
      HANDLE   hMutex   =   NULL;
      hMutex   =   ::OpenMutex(MUTEX_ALL_ACCESS,TRUE,lpszName);
      if(hMutex)
    {
       

     
   CWnd *pWnd=CWnd::FindWindow(NULL,lpszName);//目标进程的窗口的captain
   if(pWnd)  
   {  
    if (para[1]=="exit")
     pWnd->SendMessage(WM_MYMESSAGE_stop, NULL, NULL);      //给旧进程发送消息
    else{
     MessageBox(NULL, "您已经启动程序   !         ", "提示                                 ",MB_ICONINFORMATION);
    }
    //MessageBox(NULL,"找到窗口","提示",MB_ICONINFORMATION);
   } else{
    MessageBox(NULL, "您已经启动程序   !         ", "提示                                 ",MB_ICONINFORMATION);
   }

        return   FALSE;
    }
      hMutex   =   ::CreateMutex(NULL,TRUE,lpszName);
///////////////////////////////</防止重复运行>///////////////////////////////////////////////

原文地址:https://www.cnblogs.com/jifeng/p/2023566.html