如何知道Windows程序文件是否支持大尺寸图标?

时间:2017-11-28 15:11:33

标签: c# windows

我正在开发一个C#应用程序,我需要采取不同的操作,具体取决于程序文件的图标大小。

例如,如果我有这两个程序文件:(“大”表示256x256像素)

7-Zip File Manager (doesn't support large icon)

Visual Studio IDE (supports large icon)

是否可以实现这样的方法:

bool result;
result = HasLargeIcon("7zFM.exe");// result is false
result = HasLargeIcon("devenv.exe");// result is true

感谢您的帮助。

编辑:
我试过这些:
Win32 API,如SHGetFileInfoIImageList.GetIcon 来自ShellFile.Thumbnail的{​​{1}}。

他们帮助我获得了大图标,但是我得到了256x256像素的图像,当文件没有大图标时左上角有一个小图标。

1 个答案:

答案 0 :(得分:0)

有可能 - 写this的人设法解决它 - 他们可以看到文件中的所有图标。这是一个糟糕的答案,因此我最初将其作为评论,但它引导您使用您的解决方案使其更加可见,以便您可以将其标记为正确..我把它放在这里。

在过去,只需要几个简单的调用来获取给定文件中所有资源的名称,你就可以在名称中查找ICON256x256,这有点隐藏了,但很明显它仍然可以发生。