我正在开发一个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,例如SHGetFileInfo
和IImageList.GetIcon
。
WindowsAPICodePack
的ShellFile.Thumbnail
。
他们帮助我获得了大图标,但是当文件没有大图标时,我得到了256x256像素图像,在左上角有一个小图标。
这是可能的 - 编写此内容的人可以解决它 - 他们可以看到文件中的所有图标。这是一个糟糕的答案,因此我最初将其视为评论,但由于它使您解决了更明显的解决方案,因此您可以将其标记为正确。
在过去,在给定文件中获取所有资源的名称只是几个简单的电话,您可以在名称中查找ICON256X256,这现在有点隐藏了,但显然它仍然可以发生。