我想知道如何创建一个应用程序,它一次只能在主机操作系统上运行一个实例..所以说一个单例应用程序。我想知道如何在Qt中创建这样的单例C ++应用程序?
答案 0 :(得分:3)
您可以使用QtSingleApplication
中的Qt Solutions
课程。请注意,这不是标准的Qt类。你应该下载它。 QtSingleApplication
组件为应用程序提供支持
每个用户只能开始一次。
答案 1 :(得分:2)
应用程序启动时,创建一个文件。当应用程序结束时,删除该文件。
如果文件存在,请退出并显示错误消息。
答案 2 :(得分:0)
你真的不需要Qt,它是一个图形库。 只需使用一些普通的WINAPI方法即可。 你可以创建像建议的文件(但是当你的应用程序崩溃时,或者在停电后会变得很奇怪),或者使用内存映射文件或其他一些全局对象来检查你的应用程序是否正在运行。 您还可以检查进程列表以查看是否正在运行另一个副本。 另一件事是用你的窗口类做一个FindWindow,这非常简单并且运行良好。 有很多选择,只是搜索这个,这是一个常见的问题。 (你可以使用一些库,但由于你只是针对windows,我会选择FindWindow。)