【发布时间】:2016-08-05 01:51:45
【问题描述】:
我正在制作一个读取某种类型文件的 Qt 5 应用程序,我想将其限制为一个实例。我想将命令行参数从第二个实例传输到第一个实例,以便在用户双击该文件时打开一个文件。
我发现的大多数信息都只是简单地禁用运行第二个实例而不传递数据。我找到了QLocalServer,但显然它不会在GNU/Linux 上的应用程序崩溃时被破坏,我还找到了boost::interprocess::message_queue,但看起来我必须有一个专用线程来读取它。这是我发现的最接近的东西:https://github.com/itay-grudev/SingleApplication/ 它提供了一个我可以收听的信号,但不幸的是没有提供传递命令行的选项。
什么是最好的解决方案?我关心的操作系统是 GNU/Linux、Mac、Windows,最好是 Android。
【问题讨论】:
-
你想要 QtSingleApplication。
-
@peppe 如果您提供分步解决方案,我会尝试并接受它是否有效。我以前只发现过这个的 Qt 4 版本。
-
好的,我搞定了。做出回答并接受。