这不应该是一个不寻常的问题,但我在谷歌或其他搜索机器上找不到任何相关信息。
因此,我使用 C++ 和 QtCreator 制作了一个应用程序。我为应用程序的项目文件创建了一个新的 mime 类型。我的系统(ubuntu 10.10),当我右键单击一个文件并选择“使用'默认应用程序'打开”时,它运行
代码:
default_application path/to/the/selected/file1
因此,如果您选择多个文件并选择“使用‘默认应用程序’打开”,系统将调用
代码:
default_application path/to/the/selected/file1
default_application path/to/the/selected/file2
default_application path/to/the/selected/file3
所以,这对我来说是个大问题,因为我从程序内部处理并发进程,所以当程序的另一个实例运行时,会出现警告消息。因此,每个应用程序的调用都会将其他应用程序识别为当前正在运行的应用程序,因此它会显示消息。我最终会收到 3 条消息,说程序的另一个进程正在运行 --_--' 我的应用程序以这种方式处理多个 URL:
代码:
myapp path/to/the/selected/file1 path/to/the/selected/file2 path/to/the/selected/file3
如何让我的代码同时处理所有这些多个实例?我尝试过的一切都失败了,因为我尝试过的一切都需要从第一个调用的实例中进行检查,这太慢了,其他实例来自应用程序,并且一起警告同一程序的并发进程
那么,我该如何解决这个问题?它取决于系统,还是我可以对代码做些什么?