如果我有一个包含16×16、32×32、256×256等版本图标的Vista .ico文件,则只需执行以下操作即可成功将其作为.NET图标加载:
Icon myIcon = new Icon("C:\\MyIcon.ico");
然后,我可以访问图标中的所有各种尺寸的图像.我什至可以使用HERE详细方法访问256×256 Vista PNG.
但是,我还没有找到从Vista可执行文件中获取全部图标图像的方法.不幸的是,这样做-:
Icon myIcon = Icon.ExtractAssociatedIcon("C:\\MyExe.exe");
…仅导致提取单个32×32图像.有没有办法从可执行文件中获取整个图像集作为.NET图标?最好也可以在XP中使用的一种.
解决方法:
看一下CodeProject上的这篇文章“ IconLib”.另外,通过VB.NET中的pinvoke使用“ ExtractIconExA” API查看此version.
希望这可以帮助.