Qt如何禁止应用程序多开?

阿里云拼团返场活动: 点击加入

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


示例

image.png


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


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


腾讯云活动继续: 看一看(竞争好激烈^_^)

演示站
上一篇:如何利用python批量压缩png图片?
下一篇:认识flask的URL转换器

发表评论