Windows 7任务栏中的VB6应用程序图标模糊

Windows 7任务栏中的VB6应用程序图标模糊,vb6,windows-7-x64,taskbar,Vb6,Windows 7 X64,Taskbar,我有一个VB6应用程序,其中一个窗体图标被设置为应用程序图标。问题是,在Windows 7中,即使图标包含16x16、32x32和48x48大小,图标看起来也很模糊 有办法解决这个问题吗?它尝试了SendMessage(…SETICON…ICON_BIG),但它似乎不起作用。我并不理解选择图标图像以在不同位置显示的全部启发式方法,但我认为这里发生的事情是,您的48x48图像正在被拍摄并缩小 我怀疑,在许多版本的Windows上,VB6程序所发生的情况是,如果没有16色16x16图像,则会拍摄并缩

我有一个VB6应用程序,其中一个窗体图标被设置为应用程序图标。问题是,在Windows 7中,即使图标包含16x16、32x32和48x48大小,图标看起来也很模糊


有办法解决这个问题吗?它尝试了SendMessage(…SETICON…ICON_BIG),但它似乎不起作用。

我并不理解选择图标图像以在不同位置显示的全部启发式方法,但我认为这里发生的事情是,您的48x48图像正在被拍摄并缩小

我怀疑,在许多版本的Windows上,VB6程序所发生的情况是,如果没有16色16x16图像,则会拍摄并缩放更大的图像。原因可能只是由于ICO资源/文件中图像的顺序


如果编辑ICO并添加16色版本的16x16图像,“问题”可能会消失。

ICO文件中的图标有多深

VB6(我相信)支持图标的最大8位颜色深度(256色):-

因此,如果8位颜色深度中没有大小为48 x 48的图标,则可以使用最接近的匹配并将其缩放到48 x 48

编辑:


我只是用一个8位深度没有48 x 48图标的图标(但在更高的深度有48 x 48)尝试了这个方法,而任务栏中使用的图标是8位颜色深度的32位图标。

您尝试了
发送消息给哪个
hWnd
?尝试将其发送到
GetParent(Form1.hWnd)
,它是每个VB6“无主”表单的隐藏单一所有者,该表单在任务管理器的“应用程序”选项卡中保留图标。图标在哪里显示模糊?在窗体上或在Windows资源管理器中查看exe时?@Matt标题说它在Windows 7任务栏中。