使用LoadImage
我更改了组中所有窗口的图标。但是,组图标不会更改。如何将相应的组添加到窗口并设置其图标?
答案 0 :(得分:1)
组图标来自EXE文件本身(在多个EXE贡献给同一组的情况下,我想任务栏有一些算法来决定从哪个EXE拉出图标)。没有官方API可以更改组图标。你必须manipulate the Taskbar directly,这不是不可能的,但也不是微不足道的。
更新:我刚刚看到以下答案,也许它会对您有所帮助:
https://stackoverflow.com/a/219128/65863
更新:显然上述链接中的注册表值仅适用于将应用固定到任务栏的情况。
答案 1 :(得分:1)
你的问题是:图标确实采用了第一个WINDOW的图标,而不是exe。但是,在设置图标后,您必须右键单击任务栏中的图标,然后将其固定,然后取消固定。在取消固定任务栏图标时,现在将获取第一个Windows图标。
我不知道如何以编程方式执行此操作,也许@RemyLebeau知道。也许setClassLongPtr
?不确定。
现在当它被固定时你想让它使用相同的图标,所以设置注册表值就像建议的@RemyLebeau。
此外,我不知道如何解释这个问题,但是取消固定后,如果你打开跳转列表,图标就会恢复到exe的图标。这可以通过固定图标的注册表设置来修复,我不确定。
哇所以Win7任务栏如此调整。
编辑:我尝试设置我的注册表值,图标不起作用。它可能需要做一些事情:我为TaskbarGroupIcon
找到的注册表内容都有一个以逗号和数字结尾的数据值(例如,-4
中的%SystemRoot%\System32\imageres.dll,-4
)