首页  :: 新随笔  :: 管理

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

Posted on 2011-04-21 14:33  季枫  阅读(1304)  评论(0编辑  收藏  举报

///////////////////////////////<防止重复运行>///////////////////////////////////////////////
 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);
///////////////////////////////</防止重复运行>///////////////////////////////////////////////

智读 | 成都会领科技有限公司官网 | 智读App下载 | 每天听本书的博客 | |