java - 在Win7上为SWT/RCP应用程序设置ApplicationId

标签 java windows-7 swt rcp

Win7使用applicationId进行分组并据此

https://bugs.eclipse.org/bugs/show_bug.cgi?id=294827 (评论 #4 和评论 #8)

Display.setAppName()应该在第一次设置应用程序id。

在 Eclipse 3.7 中,我尝试在 PlatformUI.createDisplay() 之前调用 Display.setAppName(),如下所示。尽管如此,所有 shell 都转储到一个任务栏图标:

Display.setAppName(id); // id is ready from a file and different for every session
Display display = PlatformUI.createDisplay();

用例

相同的二进制文件用于各种目的(例如 UAT 与 PROD)并在同一台 PC 上运行。如果在任务栏中正确分组,管理起来会容易得多。当我们调整所有分离 View 以获得其顶级外壳(即任务栏上的单独项目)时,这特别有用。

感谢任何帮助。

最佳答案

在调用 PlatformUI.createDisplay() 之前,使用 Display.setAppName() 控制分组。

Display.setAppName("MyApp");
Display display = Display.getDefault();
PlatformUI.createDisplay();

预创建显示,以便显示创建自定义应用程序名称,控制Win7下的任务栏分组。 PlatformUI.createDisplay() 只要使用同一线程调用,就会为内部图像初始化捕获相同的显示。调用 PlatformUI.createDisplay() 直接使用产品信息中的应用名称和版本,无法进行自定义。

具有相同应用名称的显示将被分组在 Win7 任务栏的相同图标下。
Display.setAppVersion() 被简单地忽略。

关于java - 在Win7上为SWT/RCP应用程序设置ApplicationId,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8398532/

相关文章:

java - 在 Java/SWT 中保存窗口状态

java - 如何正确设置 CTabItem 的边框样式

java - 使用 compareTo 的 while 循环出现 NullPointerException

Python如何在不删除已有内容的情况下继续写入文件

c++ - 在路径 : windows 中找不到 Eclipse g++

windows - Git 从 index.lock 重命名为索引失败

java - 在 Java 15 模块化设置中的 Eclipse 中使用 SWT

java - 项目不会停止在 NetBeans 上运行

java - 使用 DisplayTag 库框架通过 Struts2 进行分页

java - 如何在 fragment Android中获取PackageManager