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

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

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

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

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

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

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

链接地址: http://www.djcxy.com/p/51811.html

上一篇: Changing the icon shown in a taskbar group for a multi window application

下一篇: Ensure WPF Taskbar Window Preview is actualized