为什么在VC编写程序时 点运行 他会跳出 :当前程序正在运行,如果想再次运行当前程序请先关闭当前的程序?

检测机制在哪里控制?谁懂的,加下qq2441140419帮忙下,拜托啦
2024-12-22 17:44:48
推荐回答(5个)
回答1:

情况1:说明你前边编译完的程序正在运行,编译器新生成的EXE无法覆盖该程序,退出运行的程序实例,就可以继续编译运行了
情况2:你的程序设计了单实例运行,退出运行的程序实例,就可以继续运行了

回答2:

新程序运行时,获取新创建进程句柄,可以通过判断进程是否已经停止来判断。

回答3:

你上次调试的程序没用关闭,把它关了就可以了 ,如果找不到了 ,到任务管理器中关闭

回答4:

当前运行程序,实现了单实例运行检测机制。
检测机制在系统初始化中实现。

希望有所帮助,谢谢!

回答5:

在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; }