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

时间:2011-12-06 10:41:04

标签: 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上运行。如果在任务栏中正确分组,则管理起来要容易得多。这非常有用,因为我们调整所有分离的视图以获得其顶级shell,即任务栏上的单独项目。

感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

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

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

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

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