应用程序ID是什么以及如何使用它?

问题描述 投票:0回答:1

在 Gtkmm 应用程序中,第一行是:

Glib::RefPtr<Gtk::Application> app = Gtk::Application::create(argc,argv,"org.gtkmm.examples.base");

我知道

org.gtkmm.examples.base
是一个应用程序ID。关于应用程序 ID 的一些问题:

  1. 什么是应用程序 ID?
  2. 应用程序 ID 的用途是什么?
  3. 我该怎么写?
gtk gnome gtkmm
1个回答
0
投票

根据Gio::Application Class Reference:

应用程序提供的核心功能之一是“会话”上下文中的流程唯一性。会话概念与平台相关,但大致对应于图形桌面登录。当您的应用程序再次启动时,其参数将通过平台通信传递给已经运行的程序。程序已经运行的实例称为主实例。

当我使用相同的应用程序标识符启动同一程序的两个实例时,第二个实例不会创建新窗口。相反,它向第一个发送信号,然后退出。如果我使用不同的应用程序标识符启动同一程序的两个实例,这两个实例将独立运行。

具体回答您的问题1和2,从上面看来,应用程序标识符标识了应用程序的主要实例。如果使用相同的应用程序标识符启动第二实例,则第二实例将向主实例发送消息,而不是创建新的主实例。这可用于实现某些网络浏览器中的那种功能,其中程序的第二次启动会在新选项卡而不是新窗口中显示网页。

© www.soinside.com 2019 - 2024. All rights reserved.