思路
利用QSharedMemory共享内存实现。
应用程序在启动时创建一个共享内存,之后的应用程序若检测到该共享内存时说明已经存在应用程序的实例了,那么直接退出,把它扼杀在摇篮里。


示例

image.png


在main函数中,通过create创建共享内存,attach去检测,若存在则直接退出应用程序,不给他执行功能的机会。


说明
该方法在windows系统下测试可行,因为当进程结束时共享内存会被windows系统释放。若在其他系统不会主动释放共享内存的话,那么启动一次程序后就再也无法启动第二次了,即使关闭第一次启动的程序也不行。