更改多窗口应用程序的任务栏组中显示的图标

在Windows 7上,应用程序可以控制如何在任务栏上对Windows进行分组。 Windows具有一些与可执行文件相关的默认设置,快捷方式的创建方式,程序名称等,以应用某些默认分组。 基于主机的应用程序(如Java)的问题是许多程序使用相同的可执行文件,因此Windows有一些注册表设置来设置javaw.exe是主机应用程序。 发生这种情况时,应用程序必须在运行时配置如何对Windows进行分组并启用引脚到任务栏。 我已经设置了应用程序用户模型ID ,以便根据需要对Windows进行分组。

我没有找到解决方案的问题是,对于多窗口应用程序:如何设置在任务栏上使用的稳定图标? 应用程序的默认Windows行为,例如,有两个窗口,每个窗口都有自己的图标,任务栏图标显示第一个打开的窗口的图标,如果该窗口关闭则更改为另一个窗口,以及每次打开和关闭窗口时都会重复此过程。

当用户将应用程序固定到任务栏设置System.AppUserModel.RelaunchIconResource窗口属性时 ,有一些API可以设置图标,但是文档说该应用程序被固定时会使用此图标,因此根据它仅使用它如果应用程序从那些固定的应用程序运行,则问题是无法固定的应用程序(或开发人员不希望允许固定)的问题。

有一些选项,比如使用图标生成新的可执行文件(从该应用程序启动JVM),使用正确的AppUserModelID创建快捷方式。 这些对我来说不是解决方案,因为应用程序是使用Java WebStart / JNLP分发的,因此应用程序快捷方式是由Java创建的,而启动程序是标记为宿主应用程序(应该如此)

另一个解决方案是在Windows 7上运行时为每个窗口设置相同的图标,除了任务栏之外,该图标在Aero模式下的Windows 7上不是很突出,但是当Aero禁用它时,它是在没有Windows预览的Alt +标签切换器上使用的图标,我希望为每个窗口留下不同的东西

注意:这是一个标记的Java,但对任何使用主机可执行文件的平台(javaw.exe,python.exe …)来说都是一个问题。