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



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

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

7-zip文件管理器(不支持大图标)

Visual Studio IDE(支持大图标)

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

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

感谢您的帮助。

编辑:
我尝试了这些:
Win32 API,例如SHGetFileInfoIImageList.GetIcon
WindowsAPICodePackShellFile.Thumbnail

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

这是可能的 - 编写此内容的人可以解决它 - 他们可以看到文件中的所有图标。这是一个糟糕的答案,因此我最初将其视为评论,但由于它使您解决了更明显的解决方案,因此您可以将其标记为正确。

在过去,在给定文件中获取所有资源的名称只是几个简单的电话,您可以在名称中查找ICON256X256,这现在有点隐藏了,但显然它仍然可以发生。

最新更新