我编写了一个保存可执行文件图标的程序。当我通过ExtractAssociatedIcon方法获取可执行文件的图标并保存时,输出图标的质量为低质量。我能做什么?
var ico = Icon.ExtractAssociatedIcon(@"c:/test.exe");
FileStream stream = new System.IO.FileStream(string.Format("{0}{1}", Path.GetTempPath(), "icon" + counter + ".ico"), System.IO.FileMode.Create);
ico.Save(stream);
stream.Flush();
stream.Close();
答案 0 :(得分:2)
这并不容易。您必须使用SystemImageList。 .NET框架不支持它,因此您必须使用不安全的方法来访问系统。 Icon.ExtractAssociatedIcon仅返回32x32分辨率。
如果你真的这样做,这是一个好的开始:http://www.vbaccelerator.com/home/NET/Code/Libraries/Shell_Projects/SysImageList/article.asp
更新:如果您只想要.exe文件并且不需要Windows XP支持,您也可以使用Windows API Codepack http://archive.msdn.microsoft.com/WindowsAPICodePack并获取所需大小的项目缩略图。
答案 1 :(得分:-1)