我有一个小型Windows应用程序,只允许运行一次。使用Windows互斥锁(CreateMutex)完成单实例检查。
应用程序应将已经运行的应用程序置于最前面并向用户显示信息消息。
使用Windows的MessageBox功能创建信息消息。但是,每次我尝试启动应用程序的新实例时,都会创建一个新的消息框(允许我打开数百个消息框)。
有没有办法将消息框的数量限制为一个(除了为消息框锁定另一个互斥锁)?
答案 0 :(得分:0)
您的计划有三种状态:
对于第三状态的程序来说,静默退出似乎很容易。有很多方法可以做到这一点。并且由于您已经在使用互斥锁来检测第二个状态,因此也可以使用相同的逻辑来检测第三个状态。
但你可以用另一种方式做到:
从我的观点来看,第一种方法更好(即通过第二/第三/ ...程序实例显示消息框,并且仅在将主实例带到前面之后才显示消息框。)