我正在开发一个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,如SHGetFileInfo
和IImageList.GetIcon
来自ShellFile.Thumbnail
的{{1}}。
他们帮助我获得了大图标,但是我得到了256x256像素的图像,当文件没有大图标时左上角有一个小图标。
答案 0 :(得分:0)
有可能 - 写this的人设法解决它 - 他们可以看到文件中的所有图标。这是一个糟糕的答案,因此我最初将其作为评论,但它引导您使用您的解决方案使其更加可见,以便您可以将其标记为正确..我把它放在这里。
在过去,只需要几个简单的调用来获取给定文件中所有资源的名称,你就可以在名称中查找ICON256x256,这有点隐藏了,但很明显它仍然可以发生。