3

我想知道如何创建一个应用程序,该应用程序一次只能在主机操作系统上运行一个实例......可以说是一个单例应用程序。我想知道如何在 Qt 中创建这样的单例 C++ 应用程序?

4

3 回答 3

3

您可以QtSingleApplication使用Qt Solutions. 请注意,这不是标准的 Qt 类。你应该下载它。该QtSingleApplication组件为应用程序提供支持

每个用户只能启动一次。

于 2012-05-16T07:19:17.140 回答
2

当应用程序启动时,创建一个文件。当应用程序结束时,删除文件。

如果文件存在,则退出并显示错误消息。

于 2012-05-16T07:10:39.610 回答
-1

你真的不需要Qt,它是一个图形库。只需使用一些普通的 WINAPI 方法即可。您可以创建建议的文件(但当您的应用程序崩溃或断电后可能会变得奇怪),或使用内存映射文件或其他一些全局对象来检查您的应用程序是否仍在运行。您也可以检查进程列表以查看是否正在运行另一个副本。另一件事是用你的窗口类做一个 FindWindow,这很容易而且效果很好。有很多选择,只要搜索这个,这是一个常见的问题。(您可以为此使用一些库,但由于您只针对 Windows,我会使用 FindWindow。)

于 2012-05-16T07:13:06.563 回答