WPF子窗口 - Windows 7任务栏

3
我们有一个主应用程序,加载了几个插件,这些插件有自己的图标和子窗口。
问题是在 Windows 7 中,任务栏中的图标始终是主应用程序的图标,即使在子窗口中也是如此。然而,Alt+Tab 菜单显示了适当的图标。
我了解这是由于固定功能导致的,Windows 7 可能使用主 exe 的图标来处理这个问题。
我们是否可以改变我们子窗口的任务栏图标?并且可能禁用固定功能吗?如果能固定这些子窗口,可能会令人困惑,因为它无法正常工作。

这个问题的答案可能会有所帮助。 - CodeNaked
它指向了Windows 7 API代码包,但我不知道它是否会对我们的情况有所帮助,因为它们只提到了图标叠加。听起来最好的办法可能是放置一个子窗口图标的图标叠加,但那可能看起来很奇怪。 - jonathanpeppers
1个回答

2

您无法将子窗口固定 - 固定工作在应用程序级别。 如果您固定/取消固定子窗口,则是(取消)固定整个应用程序。 由于这是适用于任务栏中任何窗口的操作系统级功能,因此无法禁用此行为(尽管您可以选择不在任务栏中显示这些窗口)。

我不确定窗口图标,但我想当你说它只是使用应用程序图标时,你是正确的。


有没有办法至少更改子窗口的图标? - jonathanpeppers
刚刚编辑了一下,评论说 - 不幸的是,我认为就任务栏而言,你是正确的。 - Dan Puzey
我知道你可以动态地更改图标,我在 Google Chrome 中看到过它的实现:你可以将网站固定到开始菜单。我知道这些运行在它们自己的进程中,但它们正在将图标从默认的 Google Chrome 图标更改为使用 favicon.ico。 - jonathanpeppers
将不是应用程序的快捷方式图标固定化是不同的。IE9也是如此,如果我启动一个固定化的IE9站点,那么该进程中的所有IE9窗口都会拾取我的固定化站点的图标(无法评论Chrome)。我认为您不能为从同一应用程序实例启动的不同窗口设置不同的图标。 - Dan Puzey
是的,Chrome也是一样的。例如,我可以将StackOverflow固定到任务栏,但新的任务栏组是一个新的进程,而我们应用程序中的所有插件都在同一个进程中。我会保留这个答案一段时间,以防万一,但如果没有解决方案,我会将您标记为答案。 - jonathanpeppers

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接