情况1:说明你前边编译完的程序正在运行,编译器新生成的EXE无法覆盖该程序,退出运行的程序实例,就可以继续编译运行了
情况2:你的程序设计了单实例运行,退出运行的程序实例,就可以继续运行了
新程序运行时,获取新创建进程句柄,可以通过判断进程是否已经停止来判断。
你上次调试的程序没用关闭,把它关了就可以了 ,如果找不到了 ,到任务管理器中关闭
当前运行程序,实现了单实例运行检测机制。
检测机制在系统初始化中实现。
希望有所帮助,谢谢!
在app类的oninitinstance中,HANDLE m_hMutex = ::CreateMutex(NULL,true,_T("MBD")); if(GetLastError() == ERROR_ALREADY_EXISTS) { ReleaseMutex(m_hMutex); ::MessageBox(NULL,_T("应用程序已经运行!"),_T("系统提示"),MB_OK|MB_ICONSTOP); return FALSE; }